You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@grails.apache.org by as...@apache.org on 2026/08/19 20:25:42 UTC
(grails-website) branch asf-site-production updated: Updating apache/grails-website asf-site-production branch for GitHub Actions run:32297210382
This is an automated email from the ASF dual-hosted git repository.
asf-ci-deploy pushed a commit to branch asf-site-production
in repository https://gitbox.apache.org/repos/asf/grails-website.git
The following commit(s) were added to refs/heads/asf-site-production by this push:
new fec8708824a Updating apache/grails-website asf-site-production branch for GitHub Actions run:32297210382
fec8708824a is described below
commit fec8708824a03dce99c9165da794f908a792404b
Author: jamesfredley <ja...@users.noreply.github.com>
AuthorDate: Wed Aug 19 20:25:20 2026 +0000
Updating apache/grails-website asf-site-production branch for GitHub Actions run:32297210382
---
foundation/minutes.xml | 2 +-
foundation/minutes/20210321-tab.html | 10 +-
foundation/minutes/20211217-tab.html | 10 +-
foundation/minutes/20220323-tab.html | 10 +-
foundation/minutes/20220711-tab.html | 10 +-
foundation/minutes/20221128-tab.html | 10 +-
foundation/minutes/index.html | 2 +-
guides/_redirects.json | 20 +-
guides/adding-commit-info/3/css/guide.css | 176 +-
.../adding-commit-info/3/guide/configuration.html | 32 +-
.../adding-commit-info/3/guide/gettingStarted.html | 32 +-
guides/adding-commit-info/3/guide/history.html | 32 +-
guides/adding-commit-info/3/guide/index.html | 6 +-
.../adding-commit-info/3/guide/runningTheApp.html | 32 +-
guides/adding-commit-info/3/guide/tldr.html | 28 +-
guides/adding-commit-info/3/guide/training.html | 28 +-
.../adding-commit-info/3/guide/writingTheApp.html | 32 +-
guides/adding-commit-info/4/css/guide.css | 176 +-
.../adding-commit-info/4/guide/configuration.html | 32 +-
.../adding-commit-info/4/guide/gettingStarted.html | 32 +-
guides/adding-commit-info/4/guide/history.html | 32 +-
guides/adding-commit-info/4/guide/index.html | 6 +-
.../adding-commit-info/4/guide/runningTheApp.html | 32 +-
guides/adding-commit-info/4/guide/tldr.html | 28 +-
guides/adding-commit-info/4/guide/training.html | 28 +-
.../adding-commit-info/4/guide/writingTheApp.html | 32 +-
guides/angular2-combined/4/css/guide.css | 176 +-
.../angular2-combined/4/guide/gettingStarted.html | 30 +-
.../angular2-combined/4/guide/helpWithGrails.html | 26 +-
guides/angular2-combined/4/guide/index.html | 4 +-
.../angular2-combined/4/guide/runningTheApp.html | 30 +-
guides/angular2-combined/4/guide/training.html | 26 +-
.../angular2-combined/4/guide/writingTheApp.html | 30 +-
guides/building-a-react-app/4/css/guide.css | 176 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
guides/building-a-react-app/4/guide/index.html | 4 +-
guides/building-a-react-app/4/guide/nextSteps.html | 30 +-
.../4/guide/runningTheApp.html | 30 +-
guides/building-a-react-app/4/guide/training.html | 26 +-
.../4/guide/writingReactComponents.html | 30 +-
.../4/guide/writingTheApp.html | 30 +-
guides/building-a-vue-app/4/css/guide.css | 176 +-
.../building-a-vue-app/4/guide/gettingStarted.html | 30 +-
.../building-a-vue-app/4/guide/helpWithGrails.html | 26 +-
guides/building-a-vue-app/4/guide/index.html | 4 +-
guides/building-a-vue-app/4/guide/nextSteps.html | 30 +-
.../building-a-vue-app/4/guide/runningTheApp.html | 30 +-
guides/building-a-vue-app/4/guide/training.html | 26 +-
.../4/guide/writingTheClient.html | 30 +-
.../4/guide/writingTheServer.html | 30 +-
.../4/css/guide.css | 176 +-
.../4/guide/conclusion.html | 30 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
.../4/guide/index.html | 4 +-
.../4/guide/overview.html | 30 +-
.../4/guide/training.html | 26 +-
.../4/guide/version2.html | 30 +-
.../4/guide/writingTheAndroidApp.html | 30 +-
.../4/guide/writingTheGrailsApp.html | 30 +-
.../4/css/guide.css | 176 +-
.../4/guide/conclusion.html | 32 +-
.../4/guide/gettingStarted.html | 32 +-
.../4/guide/helpWithGrails.html | 28 +-
.../4/guide/index.html | 6 +-
.../4/guide/overview.html | 32 +-
.../4/guide/training.html | 28 +-
.../4/guide/version2.html | 32 +-
.../4/guide/writingTheGrailsApp.html | 32 +-
.../4/guide/writingTheiOSApp.html | 32 +-
.../4/css/guide.css | 176 +-
.../4/guide/conclusion.html | 32 +-
.../4/guide/gettingStarted.html | 32 +-
.../4/guide/helpWithGrails.html | 28 +-
.../4/guide/index.html | 6 +-
.../4/guide/overview.html | 32 +-
.../4/guide/training.html | 28 +-
.../4/guide/version2.html | 32 +-
.../4/guide/writingTheGrailsApp.html | 32 +-
.../4/guide/writingTheiOSApp.html | 32 +-
guides/categories/grailsasync.html | 2 +-
guides/command-objects-and-forms/3/css/guide.css | 176 +-
.../3/guide/gettingStarted.html | 32 +-
.../3/guide/helpWithGrails.html | 28 +-
.../command-objects-and-forms/3/guide/index.html | 6 +-
.../3/guide/runningTheApp.html | 32 +-
.../3/guide/training.html | 28 +-
.../3/guide/whatAreCommandObjects.html | 32 +-
.../3/guide/writingTheApp.html | 32 +-
guides/command-objects-and-forms/4/css/guide.css | 176 +-
.../4/guide/gettingStarted.html | 32 +-
.../4/guide/helpWithGrails.html | 28 +-
.../command-objects-and-forms/4/guide/index.html | 6 +-
.../4/guide/runningTheApp.html | 32 +-
.../4/guide/training.html | 28 +-
.../4/guide/whatAreCommandObjects.html | 32 +-
.../4/guide/writingTheApp.html | 32 +-
.../creating-your-first-grails-app/3/css/guide.css | 176 +-
.../3/guide/controllers.html | 32 +-
.../3/guide/creatingTheApp.html | 32 +-
.../3/guide/deployment.html | 32 +-
.../3/guide/domainClasses.html | 32 +-
.../3/guide/gettingStarted.html | 32 +-
.../3/guide/helpWithGrails.html | 28 +-
.../3/guide/index.html | 6 +-
.../3/guide/runningTheApp.html | 32 +-
.../3/guide/services.html | 32 +-
.../3/guide/testing.html | 32 +-
.../3/guide/training.html | 28 +-
.../3/guide/views.html | 32 +-
.../creating-your-first-grails-app/4/css/guide.css | 176 +-
.../4/guide/controllers.html | 32 +-
.../4/guide/creatingTheApp.html | 32 +-
.../4/guide/deployment.html | 32 +-
.../4/guide/domainClasses.html | 32 +-
.../4/guide/gettingStarted.html | 32 +-
.../4/guide/helpWithGrails.html | 28 +-
.../4/guide/index.html | 6 +-
.../4/guide/runningTheApp.html | 32 +-
.../4/guide/services.html | 32 +-
.../4/guide/testing.html | 32 +-
.../4/guide/training.html | 28 +-
.../4/guide/views.html | 32 +-
.../creating-your-first-grails-app/6/css/guide.css | 176 +-
.../6/guide/controllers.html | 30 +-
.../6/guide/creatingTheApp.html | 30 +-
.../6/guide/deployment.html | 30 +-
.../6/guide/domainClasses.html | 30 +-
.../6/guide/gettingStarted.html | 30 +-
.../6/guide/helpWithGrails.html | 26 +-
.../6/guide/index.html | 4 +-
.../6/guide/runningTheApp.html | 30 +-
.../6/guide/services.html | 30 +-
.../6/guide/testing.html | 30 +-
.../6/guide/training.html | 26 +-
.../6/guide/views.html | 30 +-
guides/database-per-tenant/4/css/guide.css | 176 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
guides/database-per-tenant/4/guide/index.html | 4 +-
.../4/guide/integrationTest.html | 30 +-
.../database-per-tenant/4/guide/runningTheApp.html | 30 +-
.../database-per-tenant/4/guide/testingTheApp.html | 30 +-
guides/database-per-tenant/4/guide/training.html | 26 +-
.../database-per-tenant/4/guide/writingTheApp.html | 30 +-
guides/discriminator-per-tenant/4/css/guide.css | 176 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
guides/discriminator-per-tenant/4/guide/index.html | 4 +-
.../4/guide/integrationTest.html | 30 +-
.../4/guide/runningTheApp.html | 30 +-
.../4/guide/testingTheApp.html | 30 +-
.../discriminator-per-tenant/4/guide/training.html | 26 +-
.../4/guide/writingTheApp.html | 30 +-
guides/gorm-event-listeners/3/css/guide.css | 176 +-
.../gorm-event-listeners/3/guide/conclusion.html | 32 +-
.../3/guide/gettingStarted.html | 32 +-
.../3/guide/helpWithGrails.html | 28 +-
guides/gorm-event-listeners/3/guide/index.html | 6 +-
.../3/guide/runningTheTests.html | 32 +-
guides/gorm-event-listeners/3/guide/training.html | 28 +-
.../3/guide/writingTheApp.html | 32 +-
guides/gorm-event-listeners/4/css/guide.css | 176 +-
.../gorm-event-listeners/4/guide/conclusion.html | 32 +-
.../4/guide/gettingStarted.html | 32 +-
.../4/guide/helpWithGrails.html | 28 +-
guides/gorm-event-listeners/4/guide/index.html | 6 +-
.../4/guide/runningTheTests.html | 32 +-
guides/gorm-event-listeners/4/guide/training.html | 28 +-
.../4/guide/writingTheApp.html | 32 +-
.../4/css/guide.css | 176 +-
.../4/guide/conclusion.html | 32 +-
.../4/guide/configuringGormGraphQL.html | 32 +-
.../4/guide/gettingStarted.html | 32 +-
.../4/guide/helpWithGrails.html | 28 +-
.../4/guide/index.html | 6 +-
.../4/guide/installApollo.html | 32 +-
.../4/guide/mutations.html | 32 +-
.../4/guide/playGraphQL.html | 32 +-
.../4/guide/queryGraphQL.html | 32 +-
.../4/guide/training.html | 28 +-
guides/gorm-ratpack/3/css/guide.css | 176 +-
guides/gorm-ratpack/3/guide/gettingStarted.html | 32 +-
guides/gorm-ratpack/3/guide/helpWithGrails.html | 28 +-
guides/gorm-ratpack/3/guide/index.html | 6 +-
guides/gorm-ratpack/3/guide/training.html | 28 +-
.../gorm-ratpack/3/guide/writingTheAppPartOne.html | 32 +-
guides/gorm-ratpack/4/css/guide.css | 176 +-
guides/gorm-ratpack/4/guide/gettingStarted.html | 30 +-
guides/gorm-ratpack/4/guide/helpWithGrails.html | 26 +-
guides/gorm-ratpack/4/guide/index.html | 4 +-
guides/gorm-ratpack/4/guide/training.html | 26 +-
.../gorm-ratpack/4/guide/writingTheAppPartOne.html | 30 +-
guides/gorm-without-grails/4/css/guide.css | 176 +-
.../4/guide/configuringTheApp.html | 30 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
guides/gorm-without-grails/4/guide/index.html | 4 +-
guides/gorm-without-grails/4/guide/training.html | 26 +-
.../4/guide/writingTheAppPartOne.html | 30 +-
guides/grails-as-docker-container/3/css/guide.css | 176 +-
.../3/guide/building.html | 32 +-
.../3/guide/gettingStarted.html | 32 +-
.../3/guide/helpWithGrails.html | 28 +-
.../grails-as-docker-container/3/guide/index.html | 6 +-
.../3/guide/training.html | 28 +-
.../3/guide/usingOnlyDocker.html | 32 +-
.../3/guide/writing.html | 32 +-
guides/grails-as-docker-container/4/css/guide.css | 176 +-
.../4/guide/building.html | 32 +-
.../4/guide/gettingStarted.html | 32 +-
.../4/guide/helpWithGrails.html | 28 +-
.../grails-as-docker-container/4/guide/index.html | 6 +-
.../4/guide/training.html | 28 +-
.../4/guide/usingOnlyDocker.html | 32 +-
.../4/guide/writing.html | 32 +-
guides/grails-async-promises/3/css/guide.css | 176 +-
.../3/guide/gettingStarted.html | 32 +-
.../3/guide/helpWithGrails.html | 28 +-
guides/grails-async-promises/3/guide/index.html | 6 +-
.../3/guide/runningTheApp.html | 32 +-
guides/grails-async-promises/3/guide/training.html | 28 +-
.../3/guide/writingTheApp.html | 32 +-
guides/grails-async-promises/4/css/guide.css | 176 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
guides/grails-async-promises/4/guide/index.html | 4 +-
.../4/guide/runningTheApp.html | 30 +-
guides/grails-async-promises/4/guide/training.html | 26 +-
.../4/guide/writingTheApp.html | 30 +-
guides/grails-basicauth/3/css/guide.css | 176 +-
.../grails-basicauth/3/guide/gettingStarted.html | 28 +-
.../grails-basicauth/3/guide/helpWithGrails.html | 28 +-
guides/grails-basicauth/3/guide/index.html | 6 +-
guides/grails-basicauth/3/guide/writingTheApp.html | 32 +-
guides/grails-basicauth/4/css/guide.css | 176 +-
.../grails-basicauth/4/guide/gettingStarted.html | 26 +-
.../grails-basicauth/4/guide/helpWithGrails.html | 26 +-
guides/grails-basicauth/4/guide/index.html | 4 +-
guides/grails-basicauth/4/guide/writingTheApp.html | 30 +-
guides/grails-code-coverage/3/css/guide.css | 176 +-
.../3/guide/gettingStarted.html | 32 +-
.../3/guide/helpWithGrails.html | 28 +-
guides/grails-code-coverage/3/guide/index.html | 6 +-
.../3/guide/runningTheApp.html | 32 +-
guides/grails-code-coverage/3/guide/training.html | 28 +-
.../3/guide/writingTheApp.html | 32 +-
guides/grails-code-coverage/4/css/guide.css | 176 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
guides/grails-code-coverage/4/guide/index.html | 4 +-
.../4/guide/runningTheApp.html | 30 +-
guides/grails-code-coverage/4/guide/training.html | 26 +-
.../4/guide/writingTheApp.html | 30 +-
guides/grails-codenarc/4/css/guide.css | 176 +-
guides/grails-codenarc/4/guide/gettingStarted.html | 30 +-
guides/grails-codenarc/4/guide/helpWithGrails.html | 26 +-
guides/grails-codenarc/4/guide/index.html | 4 +-
guides/grails-codenarc/4/guide/training.html | 26 +-
.../grails-codenarc/4/guide/writingCustomRule.html | 30 +-
guides/grails-codenarc/4/guide/writingTheApp.html | 30 +-
.../4/css/guide.css | 176 +-
.../4/guide/gettingStarted.html | 32 +-
.../4/guide/helpWithGrails.html | 28 +-
.../4/guide/index.html | 6 +-
.../4/guide/testTheApp.html | 32 +-
.../4/guide/training.html | 28 +-
.../4/guide/writingTheApp.html | 32 +-
.../6/css/guide.css | 176 +-
.../6/guide/gettingStarted.html | 32 +-
.../6/guide/helpWithGrails.html | 28 +-
.../6/guide/index.html | 6 +-
.../6/guide/testTheApp.html | 32 +-
.../6/guide/training.html | 28 +-
.../6/guide/writingTheApp.html | 32 +-
.../3/css/guide.css | 176 +-
.../3/guide/gettingStarted.html | 32 +-
.../3/guide/helpWithGrails.html | 28 +-
.../3/guide/index.html | 6 +-
.../3/guide/testTheApp.html | 32 +-
.../3/guide/training.html | 28 +-
.../3/guide/writingTheApp.html | 32 +-
.../4/css/guide.css | 176 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
.../4/guide/index.html | 4 +-
.../4/guide/testTheApp.html | 30 +-
.../4/guide/training.html | 26 +-
.../4/guide/writingTheApp.html | 30 +-
guides/grails-controller-testing/3/css/guide.css | 176 +-
.../3/guide/gettingStarted.html | 32 +-
.../3/guide/helpWithGrails.html | 28 +-
.../grails-controller-testing/3/guide/index.html | 6 +-
.../3/guide/runningTheApp.html | 32 +-
.../grails-controller-testing/3/guide/summary.html | 32 +-
.../3/guide/training.html | 28 +-
.../3/guide/writingTheApp.html | 32 +-
guides/grails-controller-testing/4/css/guide.css | 176 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
.../grails-controller-testing/4/guide/index.html | 4 +-
.../4/guide/runningTheApp.html | 30 +-
.../grails-controller-testing/4/guide/summary.html | 30 +-
.../4/guide/training.html | 26 +-
.../4/guide/writingTheApp.html | 30 +-
.../3/css/guide.css | 176 +-
.../3/guide/gettingStarted.html | 32 +-
.../3/guide/helpWithGrails.html | 28 +-
.../3/guide/index.html | 6 +-
.../3/guide/runTests.html | 32 +-
.../3/guide/training.html | 28 +-
.../3/guide/writingTheApp.html | 32 +-
.../4/css/guide.css | 176 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
.../4/guide/index.html | 4 +-
.../4/guide/runTests.html | 30 +-
.../4/guide/training.html | 26 +-
.../4/guide/writingTheApp.html | 30 +-
guides/grails-data-access/8/css/guide.css | 176 +-
guides/grails-data-access/8/guide/domainModel.html | 32 +-
.../grails-data-access/8/guide/gettingStarted.html | 32 +-
.../grails-data-access/8/guide/helpWithGrails.html | 28 +-
guides/grails-data-access/8/guide/index.html | 6 +-
.../grails-data-access/8/guide/introduction.html | 28 +-
guides/grails-data-access/8/guide/queries.html | 32 +-
.../grails-data-access/8/guide/runningTheApp.html | 32 +-
.../8/guide/servicesAndControllers.html | 32 +-
guides/grails-data-access/8/guide/summary.html | 32 +-
guides/grails-data-access/8/guide/testing.html | 32 +-
guides/grails-database-migration/3/css/guide.css | 176 +-
.../3/guide/gettingStarted.html | 32 +-
.../3/guide/helpWithGrails.html | 28 +-
.../grails-database-migration/3/guide/index.html | 6 +-
.../grails-database-migration/3/guide/summary.html | 32 +-
.../3/guide/training.html | 28 +-
.../3/guide/writingTheApp.html | 32 +-
guides/grails-database-migration/4/css/guide.css | 176 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
.../grails-database-migration/4/guide/index.html | 4 +-
.../grails-database-migration/4/guide/summary.html | 30 +-
.../4/guide/training.html | 26 +-
.../4/guide/writingTheApp.html | 30 +-
guides/grails-database-migration/6/css/guide.css | 176 +-
.../6/guide/gettingStarted.html | 32 +-
.../6/guide/helpWithGrails.html | 28 +-
.../grails-database-migration/6/guide/index.html | 6 +-
.../grails-database-migration/6/guide/summary.html | 32 +-
.../6/guide/training.html | 28 +-
.../6/guide/writingTheApp.html | 32 +-
guides/grails-database-migration/8/css/guide.css | 176 +-
.../8/guide/addAttributes.html | 32 +-
.../8/guide/baseline.html | 32 +-
.../8/guide/changelogDiscipline.html | 32 +-
.../8/guide/designedRollback.html | 32 +-
.../8/guide/gettingStarted.html | 32 +-
.../8/guide/helpWithGrails.html | 28 +-
.../grails-database-migration/8/guide/index.html | 6 +-
.../8/guide/introduction.html | 28 +-
.../8/guide/legacyOnboarding.html | 32 +-
.../8/guide/makeColumnNullable.html | 32 +-
.../8/guide/pluginSetup.html | 32 +-
.../8/guide/redesignTables.html | 32 +-
.../8/guide/releaseRunbook.html | 32 +-
.../8/guide/requirements.html | 32 +-
.../8/guide/runningTheApp.html | 32 +-
.../grails-database-migration/8/guide/summary.html | 32 +-
.../grails-database-migration/8/guide/testing.html | 32 +-
.../grails-docker-bootbuildimage/8/css/guide.css | 176 +-
.../8/guide/bootBuildImage.html | 32 +-
.../8/guide/compose.html | 32 +-
.../8/guide/createApp.html | 32 +-
.../8/guide/dockerOverview.html | 32 +-
.../8/guide/dockerfile.html | 32 +-
.../8/guide/envProfiles.html | 32 +-
.../8/guide/gettingStarted.html | 28 +-
.../grails-docker-bootbuildimage/8/guide/ghcr.html | 32 +-
.../8/guide/healthCheck.html | 32 +-
.../8/guide/helpWithGrails.html | 28 +-
.../8/guide/index.html | 6 +-
.../8/guide/jvmContainer.html | 32 +-
.../8/guide/nonRoot.html | 32 +-
.../8/guide/testing.html | 32 +-
.../4/css/guide.css | 176 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
.../4/guide/index.html | 4 +-
.../4/guide/running.html | 30 +-
.../4/guide/training.html | 26 +-
.../4/guide/usingOnlyDocker.html | 30 +-
.../4/guide/writing.html | 30 +-
.../3/css/guide.css | 176 +-
.../3/guide/gettingStarted.html | 32 +-
.../3/guide/helpWithGrails.html | 28 +-
.../3/guide/index.html | 6 +-
.../3/guide/runTests.html | 32 +-
.../3/guide/training.html | 28 +-
.../3/guide/writingTheApp.html | 32 +-
.../4/css/guide.css | 176 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
.../4/guide/index.html | 4 +-
.../4/guide/runTests.html | 30 +-
.../4/guide/training.html | 26 +-
.../4/guide/writingTheApp.html | 30 +-
guides/grails-elasticbeanstalk/4/css/guide.css | 176 +-
guides/grails-elasticbeanstalk/4/guide/deploy.html | 30 +-
.../4/guide/gettingStarted.html | 26 +-
guides/grails-elasticbeanstalk/4/guide/index.html | 4 +-
.../grails-elasticbeanstalk/4/guide/nextSteps.html | 26 +-
.../4/guide/writingTheApp.html | 30 +-
guides/grails-elasticsearch/4/css/guide.css | 176 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
guides/grails-elasticsearch/4/guide/index.html | 4 +-
guides/grails-elasticsearch/4/guide/summary.html | 30 +-
guides/grails-elasticsearch/4/guide/training.html | 26 +-
guides/grails-elasticsearch/4/guide/writing.html | 30 +-
guides/grails-email/3/css/guide.css | 176 +-
guides/grails-email/3/guide/gettingStarted.html | 28 +-
guides/grails-email/3/guide/helpWithGrails.html | 28 +-
guides/grails-email/3/guide/index.html | 6 +-
guides/grails-email/3/guide/writingTheApp.html | 32 +-
guides/grails-email/4/css/guide.css | 176 +-
guides/grails-email/4/guide/gettingStarted.html | 26 +-
guides/grails-email/4/guide/helpWithGrails.html | 26 +-
guides/grails-email/4/guide/index.html | 4 +-
guides/grails-email/4/guide/writingTheApp.html | 30 +-
guides/grails-email/8/css/guide.css | 176 +-
guides/grails-email/8/guide/awsSesService.html | 32 +-
guides/grails-email/8/guide/controller.html | 32 +-
guides/grails-email/8/guide/emailContract.html | 32 +-
guides/grails-email/8/guide/gettingStarted.html | 32 +-
guides/grails-email/8/guide/helpWithGrails.html | 28 +-
guides/grails-email/8/guide/index.html | 6 +-
guides/grails-email/8/guide/introduction.html | 28 +-
guides/grails-email/8/guide/mailConfiguration.html | 32 +-
guides/grails-email/8/guide/requirements.html | 32 +-
guides/grails-email/8/guide/sendGridService.html | 32 +-
guides/grails-email/8/guide/smtpMail.html | 32 +-
guides/grails-email/8/guide/summary.html | 32 +-
guides/grails-email/8/guide/testing.html | 32 +-
guides/grails-events/3/css/guide.css | 176 +-
guides/grails-events/3/guide/gettingStarted.html | 28 +-
guides/grails-events/3/guide/helpWithGrails.html | 28 +-
guides/grails-events/3/guide/index.html | 6 +-
guides/grails-events/3/guide/runningTheApp.html | 32 +-
guides/grails-events/3/guide/writingTheApp.html | 32 +-
guides/grails-events/4/css/guide.css | 176 +-
guides/grails-events/4/guide/gettingStarted.html | 26 +-
guides/grails-events/4/guide/helpWithGrails.html | 26 +-
guides/grails-events/4/guide/index.html | 4 +-
guides/grails-events/4/guide/runningTheApp.html | 30 +-
guides/grails-events/4/guide/writingTheApp.html | 30 +-
.../8/css/guide.css | 176 +-
.../8/guide/associationWidgets.html | 32 +-
.../8/guide/cleanCrud.html | 32 +-
.../8/guide/createApp.html | 32 +-
.../8/guide/customDefaultWrapper.html | 32 +-
.../8/guide/customTable.html | 32 +-
.../8/guide/customWidgets.html | 32 +-
.../8/guide/domainModel.html | 32 +-
.../8/guide/fAllAndFDisplay.html | 32 +-
.../8/guide/fTable.html | 32 +-
.../8/guide/gettingStarted.html | 28 +-
.../8/guide/helpWithGrails.html | 28 +-
.../8/guide/index.html | 6 +-
.../8/guide/perPropertyOverrides.html | 32 +-
.../8/guide/scaffolding.html | 32 +-
.../8/guide/templateLookup.html | 32 +-
.../8/guide/testing.html | 32 +-
guides/grails-file-download-excel/3/css/guide.css | 176 +-
.../3/guide/gettingStarted.html | 32 +-
.../3/guide/helpWithGrails.html | 28 +-
.../grails-file-download-excel/3/guide/index.html | 6 +-
.../3/guide/runningTheApp.html | 32 +-
.../3/guide/training.html | 28 +-
.../3/guide/writingTheApp.html | 32 +-
guides/grails-file-download-excel/4/css/guide.css | 176 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
.../grails-file-download-excel/4/guide/index.html | 4 +-
.../4/guide/training.html | 26 +-
.../4/guide/writingTheApp.html | 30 +-
.../grails-geb-multiple-browsers/3/css/guide.css | 176 +-
.../3/guide/gettingStarted.html | 32 +-
.../3/guide/helpWithGrails.html | 28 +-
.../3/guide/index.html | 6 +-
.../3/guide/runningTheApp.html | 32 +-
.../3/guide/training.html | 28 +-
.../3/guide/writingTheApp.html | 32 +-
.../grails-geb-multiple-browsers/4/css/guide.css | 176 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
.../4/guide/index.html | 4 +-
.../4/guide/runningTheApp.html | 30 +-
.../4/guide/training.html | 26 +-
.../4/guide/writingTheApp.html | 30 +-
guides/grails-github-actions-cicd/8/css/guide.css | 176 +-
.../grails-github-actions-cicd/8/guide/badge.html | 32 +-
.../8/guide/branchProtection.html | 32 +-
.../grails-github-actions-cicd/8/guide/ciYml.html | 32 +-
.../8/guide/createApp.html | 32 +-
.../8/guide/dependabot.html | 32 +-
.../8/guide/functionalTests.html | 32 +-
.../8/guide/gettingStarted.html | 28 +-
.../8/guide/helpWithGrails.html | 28 +-
.../grails-github-actions-cicd/8/guide/index.html | 6 +-
.../8/guide/integrationTests.html | 32 +-
.../8/guide/releaseYml.html | 32 +-
.../8/guide/unitTests.html | 32 +-
.../8/guide/workflowOverview.html | 32 +-
guides/grails-google-cloud/4/css/guide.css | 176 +-
guides/grails-google-cloud/4/guide/cleaningUp.html | 30 +-
guides/grails-google-cloud/4/guide/cloudSDK.html | 30 +-
guides/grails-google-cloud/4/guide/cloudSQL.html | 30 +-
.../grails-google-cloud/4/guide/cloudStorage.html | 30 +-
guides/grails-google-cloud/4/guide/costs.html | 30 +-
.../4/guide/deployingTheApp.html | 30 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/googleAppEngine.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
.../grails-google-cloud/4/guide/howToComplete.html | 30 +-
guides/grails-google-cloud/4/guide/index.html | 4 +-
guides/grails-google-cloud/4/guide/learnMore.html | 30 +-
guides/grails-google-cloud/4/guide/logging.html | 30 +-
guides/grails-google-cloud/4/guide/training.html | 26 +-
.../4/guide/whatYouWillNeed.html | 30 +-
.../grails-google-cloud/4/guide/writingTheApp.html | 30 +-
guides/grails-google-home/4/css/guide.css | 176 +-
.../grails-google-home/4/guide/gettingStarted.html | 32 +-
.../4/guide/googleCloudSettings.html | 32 +-
guides/grails-google-home/4/guide/index.html | 6 +-
guides/grails-google-home/4/guide/test.html | 28 +-
guides/grails-google-home/4/guide/training.html | 28 +-
.../grails-google-home/4/guide/writingTheApp.html | 32 +-
guides/grails-gorm-data-services/3/css/guide.css | 176 +-
.../3/guide/conclusion.html | 32 +-
.../3/guide/gettingStarted.html | 32 +-
.../3/guide/helpWithGrails.html | 28 +-
.../grails-gorm-data-services/3/guide/index.html | 6 +-
.../3/guide/japqlProjection.html | 32 +-
.../3/guide/japqlQuery.html | 32 +-
.../3/guide/training.html | 28 +-
.../3/guide/usingGormDataServices.html | 32 +-
.../3/guide/whyGormDataServices.html | 32 +-
.../3/guide/writingTheApp.html | 32 +-
guides/grails-gorm-data-services/4/css/guide.css | 176 +-
.../4/guide/conclusion.html | 32 +-
.../4/guide/gettingStarted.html | 32 +-
.../4/guide/helpWithGrails.html | 28 +-
.../grails-gorm-data-services/4/guide/index.html | 6 +-
.../4/guide/japqlProjection.html | 32 +-
.../4/guide/japqlQuery.html | 32 +-
.../4/guide/training.html | 28 +-
.../4/guide/usingGormDataServices.html | 32 +-
.../4/guide/whyGormDataServices.html | 32 +-
.../4/guide/writingTheApp.html | 32 +-
guides/grails-htmx/8/css/guide.css | 176 +-
guides/grails-htmx/8/guide/controller.html | 32 +-
guides/grails-htmx/8/guide/createApp.html | 32 +-
guides/grails-htmx/8/guide/csrf.html | 32 +-
guides/grails-htmx/8/guide/gettingStarted.html | 28 +-
guides/grails-htmx/8/guide/helpWithGrails.html | 28 +-
guides/grails-htmx/8/guide/index.html | 6 +-
guides/grails-htmx/8/guide/indexPage.html | 32 +-
guides/grails-htmx/8/guide/inlineEdit.html | 32 +-
guides/grails-htmx/8/guide/layoutWithHtmx.html | 32 +-
guides/grails-htmx/8/guide/liveSearch.html | 32 +-
guides/grails-htmx/8/guide/rowPartial.html | 32 +-
guides/grails-htmx/8/guide/spaComparison.html | 32 +-
guides/grails-htmx/8/guide/taskDomain.html | 32 +-
guides/grails-htmx/8/guide/testing.html | 32 +-
guides/grails-htmx/8/guide/urlMappings.html | 32 +-
guides/grails-http-client/8/css/guide.css | 176 +-
.../8/guide/domainAndControllers.html | 32 +-
.../grails-http-client/8/guide/gettingStarted.html | 32 +-
.../grails-http-client/8/guide/helpWithGrails.html | 28 +-
.../8/guide/httpClientSetup.html | 32 +-
guides/grails-http-client/8/guide/index.html | 6 +-
.../grails-http-client/8/guide/introduction.html | 28 +-
.../grails-http-client/8/guide/requirements.html | 32 +-
.../grails-http-client/8/guide/runningTheApp.html | 32 +-
.../grails-http-client/8/guide/searchService.html | 32 +-
guides/grails-http-client/8/guide/summary.html | 32 +-
guides/grails-http-client/8/guide/testing.html | 32 +-
guides/grails-javamelody/4/css/guide.css | 176 +-
.../grails-javamelody/4/guide/gettingStarted.html | 30 +-
.../grails-javamelody/4/guide/helpWithGrails.html | 26 +-
guides/grails-javamelody/4/guide/index.html | 4 +-
guides/grails-javamelody/4/guide/melody.html | 30 +-
guides/grails-javamelody/4/guide/nextSteps.html | 30 +-
.../grails-javamelody/4/guide/runningTheApp.html | 30 +-
guides/grails-javamelody/4/guide/training.html | 26 +-
guides/grails-jobrunr/8/css/custom-pdf.css | 3 +
guides/grails-jobrunr/8/css/custom.css | 4 +
guides/grails-jobrunr/8/css/font-awesome.min.css | 4 +
.../4 => grails-jobrunr/8}/css/guide.css | 176 +-
guides/grails-jobrunr/8/css/main.css | 1281 ++++++++++
guides/grails-jobrunr/8/css/menu.css | 17 +
guides/grails-jobrunr/8/css/navbar.css | 410 +++
guides/grails-jobrunr/8/css/pdf.css | 160 ++
guides/grails-jobrunr/8/css/ref.css | 431 ++++
guides/grails-jobrunr/8/css/screen.css | 1608 ++++++++++++
guides/grails-jobrunr/8/css/skin.css | 186 ++
guides/grails-jobrunr/8/css/stMenu.css | 170 ++
guides/grails-jobrunr/8/css/tools.css | 128 +
guides/grails-jobrunr/8/fonts/FontAwesome.otf | Bin 0 -> 134808 bytes
guides/grails-jobrunr/8/fonts/archia-bold.eot | Bin 0 -> 15838 bytes
guides/grails-jobrunr/8/fonts/archia-bold.ttf | Bin 0 -> 41696 bytes
guides/grails-jobrunr/8/fonts/archia-bold.woff | Bin 0 -> 19684 bytes
guides/grails-jobrunr/8/fonts/archia-bold.woff2 | Bin 0 -> 14136 bytes
guides/grails-jobrunr/8/fonts/archia-light.eot | Bin 0 -> 42146 bytes
guides/grails-jobrunr/8/fonts/archia-light.ttf | Bin 0 -> 41864 bytes
guides/grails-jobrunr/8/fonts/archia-light.woff | Bin 0 -> 19908 bytes
guides/grails-jobrunr/8/fonts/archia-light.woff2 | Bin 0 -> 14240 bytes
guides/grails-jobrunr/8/fonts/archia-medium.eot | Bin 0 -> 16471 bytes
guides/grails-jobrunr/8/fonts/archia-medium.ttf | Bin 0 -> 43528 bytes
guides/grails-jobrunr/8/fonts/archia-medium.woff | Bin 0 -> 20436 bytes
guides/grails-jobrunr/8/fonts/archia-medium.woff2 | Bin 0 -> 14484 bytes
guides/grails-jobrunr/8/fonts/archia-regular.eot | Bin 0 -> 15329 bytes
guides/grails-jobrunr/8/fonts/archia-regular.ttf | Bin 0 -> 41328 bytes
guides/grails-jobrunr/8/fonts/archia-regular.woff | Bin 0 -> 19244 bytes
guides/grails-jobrunr/8/fonts/archia-regular.woff2 | Bin 0 -> 13656 bytes
guides/grails-jobrunr/8/fonts/archia-semibold.eot | Bin 0 -> 43510 bytes
guides/grails-jobrunr/8/fonts/archia-semibold.ttf | Bin 0 -> 43216 bytes
guides/grails-jobrunr/8/fonts/archia-semibold.woff | Bin 0 -> 20240 bytes
.../grails-jobrunr/8/fonts/archia-semibold.woff2 | Bin 0 -> 14460 bytes
guides/grails-jobrunr/8/fonts/archia-thin.eot | Bin 0 -> 15796 bytes
guides/grails-jobrunr/8/fonts/archia-thin.ttf | Bin 0 -> 41700 bytes
guides/grails-jobrunr/8/fonts/archia-thin.woff | Bin 0 -> 19676 bytes
guides/grails-jobrunr/8/fonts/archia-thin.woff2 | Bin 0 -> 14004 bytes
.../grails-jobrunr/8/fonts/fontawesome-webfont.eot | Bin 0 -> 165742 bytes
.../grails-jobrunr/8/fonts/fontawesome-webfont.svg | 2671 ++++++++++++++++++++
.../grails-jobrunr/8/fonts/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes
.../8/fonts/fontawesome-webfont.woff | Bin 0 -> 98024 bytes
.../8/fonts/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes
guides/grails-jobrunr/8/fonts/roboto-light.eot | Bin 0 -> 34598 bytes
guides/grails-jobrunr/8/fonts/roboto-light.svg | 655 +++++
guides/grails-jobrunr/8/fonts/roboto-light.ttf | Bin 0 -> 34392 bytes
guides/grails-jobrunr/8/fonts/roboto-light.woff | Bin 0 -> 20904 bytes
guides/grails-jobrunr/8/fonts/roboto-medium.eot | Bin 0 -> 35182 bytes
guides/grails-jobrunr/8/fonts/roboto-medium.svg | 607 +++++
guides/grails-jobrunr/8/fonts/roboto-medium.ttf | Bin 0 -> 34972 bytes
guides/grails-jobrunr/8/fonts/roboto-medium.woff | Bin 0 -> 21184 bytes
guides/grails-jobrunr/8/fonts/roboto-regular.eot | Bin 0 -> 34722 bytes
guides/grails-jobrunr/8/fonts/roboto-regular.svg | 635 +++++
guides/grails-jobrunr/8/fonts/roboto-regular.ttf | Bin 0 -> 34524 bytes
guides/grails-jobrunr/8/fonts/roboto-regular.woff | Bin 0 -> 20924 bytes
guides/grails-jobrunr/8/guide/dependencySetup.html | 268 ++
guides/grails-jobrunr/8/guide/durableEnqueue.html | 272 ++
.../8}/guide/gettingStarted.html | 181 +-
.../8/guide/helpWithGrails.html | 64 +-
guides/grails-jobrunr/8/guide/index.html | 1531 +++++++++++
guides/grails-jobrunr/8/guide/jobApis.html | 347 +++
guides/grails-jobrunr/8/guide/jobRequests.html | 260 ++
guides/grails-jobrunr/8/guide/operations.html | 204 ++
guides/grails-jobrunr/8/guide/pages/howto.html | 13 +
.../grails-jobrunr/8/guide/pages/requirements.html | 13 +
.../8/guide/runningTheApp.html | 103 +-
guides/grails-jobrunr/8/guide/single.html | 13 +
.../8/guide/storageConfiguration.html | 299 +++
guides/grails-jobrunr/8/guide/testing.html | 516 ++++
guides/grails-jobrunr/8/img/clippy.svg | 3 +
guides/grails-jobrunr/8/img/createproject_1.png | Bin 0 -> 37018 bytes
guides/grails-jobrunr/8/img/createproject_2.png | Bin 0 -> 43373 bytes
guides/grails-jobrunr/8/img/default/bullet.gif | Bin 0 -> 97 bytes
.../8/img/default/linear-gradient-green.png | Bin 0 -> 285 bytes
.../8/img/default/linear-gradient.png | Bin 0 -> 150 bytes
.../8/img/default/separator-horizontal.gif | Bin 0 -> 43 bytes
.../8/img/default/separator-menu.png | Bin 0 -> 172 bytes
.../8/img/default/separator-vertical.gif | Bin 0 -> 43 bytes
guides/grails-jobrunr/8/img/favicon.ico | Bin 0 -> 5558 bytes
guides/grails-jobrunr/8/img/github.svg | 31 +
guides/grails-jobrunr/8/img/github_white.svg | 19 +
.../8/img/grails-cupsonly-logo-white.svg | 26 +
guides/grails-jobrunr/8/img/grails-icon.png | Bin 0 -> 1599 bytes
guides/grails-jobrunr/8/img/grails.png | Bin 0 -> 21146 bytes
guides/grails-jobrunr/8/img/grails.svg | 13 +
guides/grails-jobrunr/8/img/grails_logo.svg | 67 +
guides/grails-jobrunr/8/img/groovy.png | Bin 0 -> 7543 bytes
guides/grails-jobrunr/8/img/heroImage.png | Bin 0 -> 3158 bytes
guides/grails-jobrunr/8/img/linkedin.svg | 11 +
.../grails-jobrunr/8/img/multi-tenancy-modes.png | Bin 0 -> 123789 bytes
guides/grails-jobrunr/8/img/note.gif | Bin 0 -> 569 bytes
.../grails-jobrunr/8/img/oci-grails-services.svg | 59 +
guides/grails-jobrunr/8/img/oci_home_to_grails.svg | 61 +
guides/grails-jobrunr/8/img/ocigrailsteam.png | Bin 0 -> 581779 bytes
guides/grails-jobrunr/8/img/slack.svg | 19 +
guides/grails-jobrunr/8/img/twitter.svg | 14 +
guides/grails-jobrunr/8/img/warning.gif | Bin 0 -> 613 bytes
guides/grails-jobrunr/8/img/youtube.svg | 43 +
guides/grails-jobrunr/8/index.html | 13 +
guides/grails-jobrunr/8/js/classie.js | 80 +
guides/grails-jobrunr/8/js/clipboard.min.js | 7 +
guides/grails-jobrunr/8/js/docs.js | 57 +
guides/grails-jobrunr/8/js/navbar.js | 9 +
guides/grails-jobrunr/8/js/sidebarEffects.js | 51 +
guides/grails-logicaldelete/3/css/guide.css | 176 +-
.../grails-logicaldelete/3/guide/conclusion.html | 32 +-
.../3/guide/gettingStarted.html | 32 +-
.../3/guide/helpWithGrails.html | 28 +-
guides/grails-logicaldelete/3/guide/index.html | 6 +-
.../3/guide/runningTheApp.html | 32 +-
guides/grails-logicaldelete/3/guide/training.html | 28 +-
guides/grails-logicaldelete/4/css/guide.css | 176 +-
.../grails-logicaldelete/4/guide/conclusion.html | 30 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
guides/grails-logicaldelete/4/guide/index.html | 4 +-
.../4/guide/runningTheApp.html | 30 +-
guides/grails-logicaldelete/4/guide/training.html | 26 +-
guides/grails-micronaut-http/5/css/guide.css | 176 +-
.../5/guide/gettingStarted.html | 32 +-
.../5/guide/helpWithGrails.html | 28 +-
guides/grails-micronaut-http/5/guide/index.html | 6 +-
.../5/guide/micronautHttpClient.html | 32 +-
.../5/guide/runningTheApp.html | 32 +-
guides/grails-micronaut-http/5/guide/test.html | 32 +-
guides/grails-micronaut-http/5/guide/training.html | 28 +-
.../5/guide/writingTheApp.html | 32 +-
guides/grails-micronaut-kafka/4/css/guide.css | 176 +-
.../4/guide/buildingAnalytics.html | 30 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
guides/grails-micronaut-kafka/4/guide/index.html | 4 +-
.../4/guide/kakfaDocker.html | 30 +-
.../grails-micronaut-kafka/4/guide/nextSteps.html | 30 +-
.../4/guide/originalAppGrails.html | 30 +-
guides/grails-micronaut-kafka/4/guide/running.html | 30 +-
.../4/guide/runningTheApp.html | 30 +-
.../grails-micronaut-kafka/4/guide/training.html | 26 +-
guides/grails-mock-basics/3/css/guide.css | 176 +-
.../grails-mock-basics/3/guide/gettingStarted.html | 30 +-
guides/grails-mock-basics/3/guide/index.html | 4 +-
.../grails-mock-basics/3/guide/runningTheApp.html | 26 +-
guides/grails-mock-basics/3/guide/summary.html | 30 +-
guides/grails-mock-basics/3/guide/training.html | 26 +-
.../grails-mock-basics/3/guide/writingTheApp.html | 30 +-
guides/grails-mock-basics/4/css/guide.css | 176 +-
.../grails-mock-basics/4/guide/gettingStarted.html | 30 +-
guides/grails-mock-basics/4/guide/index.html | 4 +-
.../grails-mock-basics/4/guide/runningTheApp.html | 26 +-
guides/grails-mock-basics/4/guide/summary.html | 30 +-
guides/grails-mock-basics/4/guide/training.html | 26 +-
.../grails-mock-basics/4/guide/writingTheApp.html | 30 +-
guides/grails-mock-http-server/3/css/guide.css | 176 +-
.../3/guide/gettingStarted.html | 32 +-
.../3/guide/helpWithGrails.html | 28 +-
guides/grails-mock-http-server/3/guide/index.html | 6 +-
.../3/guide/runningTheApp.html | 32 +-
.../grails-mock-http-server/3/guide/training.html | 28 +-
.../3/guide/writingTheApp.html | 32 +-
guides/grails-mock-http-server/4/css/guide.css | 176 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
guides/grails-mock-http-server/4/guide/index.html | 4 +-
.../4/guide/runningTheApp.html | 30 +-
.../grails-mock-http-server/4/guide/training.html | 26 +-
.../4/guide/writingTheApp.html | 30 +-
.../grails-mock-logging-slf4j-test/3/css/guide.css | 176 +-
.../3/guide/gettingStarted.html | 32 +-
.../3/guide/helpWithGrails.html | 28 +-
.../3/guide/index.html | 6 +-
.../3/guide/mockLogging.html | 32 +-
.../3/guide/runningTheApp.html | 32 +-
.../3/guide/training.html | 28 +-
.../3/guide/writingTheApp.html | 32 +-
.../grails-mock-logging-slf4j-test/4/css/guide.css | 176 +-
.../4/guide/gettingStarted.html | 32 +-
.../4/guide/helpWithGrails.html | 28 +-
.../4/guide/index.html | 6 +-
.../4/guide/mockLogging.html | 32 +-
.../4/guide/runningTheApp.html | 32 +-
.../4/guide/training.html | 28 +-
.../4/guide/writingTheApp.html | 32 +-
guides/grails-multi-datasource/3/css/guide.css | 176 +-
.../3/guide/gettingStarted.html | 32 +-
.../3/guide/helpWithGrails.html | 28 +-
guides/grails-multi-datasource/3/guide/index.html | 6 +-
.../3/guide/testingTheApp.html | 32 +-
.../grails-multi-datasource/3/guide/training.html | 28 +-
.../3/guide/writingTheApp.html | 32 +-
guides/grails-multi-datasource/4/css/guide.css | 176 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
guides/grails-multi-datasource/4/guide/index.html | 4 +-
.../4/guide/testingTheApp.html | 30 +-
.../grails-multi-datasource/4/guide/training.html | 26 +-
.../4/guide/writingTheApp.html | 30 +-
guides/grails-multi-module/8/css/guide.css | 176 +-
guides/grails-multi-module/8/guide/devReload.html | 32 +-
.../8/guide/extractingPlugin.html | 32 +-
.../grails-multi-module/8/guide/failureModes.html | 32 +-
.../8/guide/generateModules.html | 32 +-
.../8/guide/gettingStarted.html | 28 +-
.../8/guide/helpWithGrails.html | 28 +-
guides/grails-multi-module/8/guide/index.html | 6 +-
guides/grails-multi-module/8/guide/rootBuild.html | 32 +-
.../grails-multi-module/8/guide/runningEach.html | 32 +-
guides/grails-multi-module/8/guide/sharedCore.html | 32 +-
.../8/guide/testingPerModule.html | 32 +-
guides/grails-multi-module/8/guide/webapps.html | 32 +-
guides/grails-multi-project-build/4/css/guide.css | 176 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
.../grails-multi-project-build/4/guide/index.html | 4 +-
.../4/guide/runningTheApp.html | 30 +-
.../4/guide/training.html | 26 +-
.../4/guide/writingTheApp.html | 30 +-
guides/grails-oauth-google/4/css/guide.css | 176 +-
guides/grails-oauth-google/4/guide/appConfig.html | 30 +-
.../4/guide/buildingTheApp.html | 30 +-
.../4/guide/gettingStarted.html | 26 +-
.../4/guide/helpWithGrails.html | 26 +-
guides/grails-oauth-google/4/guide/index.html | 4 +-
guides/grails-oauth-google/4/guide/nextSteps.html | 30 +-
guides/grails-oauth-google/4/guide/oauth2.html | 30 +-
.../4/guide/runningTheCompleteApp.html | 30 +-
guides/grails-oauth-twitter/4/css/guide.css | 176 +-
guides/grails-oauth-twitter/4/guide/appConfig.html | 30 +-
.../4/guide/buildingTheApp.html | 30 +-
.../4/guide/gettingStarted.html | 26 +-
.../4/guide/helpWithGrails.html | 26 +-
guides/grails-oauth-twitter/4/guide/index.html | 4 +-
guides/grails-oauth-twitter/4/guide/nextSteps.html | 30 +-
guides/grails-oauth-twitter/4/guide/oauth2.html | 30 +-
.../4/guide/runningTheCompleteApp.html | 30 +-
guides/grails-on-circleci-basics/4/css/guide.css | 176 +-
.../4/guide/createGitHubRepo.html | 30 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
.../grails-on-circleci-basics/4/guide/index.html | 4 +-
.../4/guide/integrateCircle.html | 30 +-
.../4/guide/training.html | 26 +-
.../4/guide/wheretoGoFromHere.html | 30 +-
.../4/guide/writingTheApp.html | 30 +-
guides/grails-on-github-actions/4/css/guide.css | 176 +-
.../4/guide/createGitHubRepo.html | 30 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
guides/grails-on-github-actions/4/guide/index.html | 4 +-
.../4/guide/integrateGithubActions.html | 30 +-
.../grails-on-github-actions/4/guide/training.html | 26 +-
.../4/guide/wheretoGoFromHere.html | 30 +-
.../4/guide/writingTheApp.html | 30 +-
guides/grails-on-travis-basics/3/css/guide.css | 176 +-
.../3/guide/createGitHubRepo.html | 32 +-
.../3/guide/gettingStarted.html | 32 +-
.../3/guide/helpWithGrails.html | 28 +-
guides/grails-on-travis-basics/3/guide/index.html | 6 +-
.../3/guide/integrateTravis.html | 32 +-
.../grails-on-travis-basics/3/guide/training.html | 28 +-
.../3/guide/writingTheApp.html | 32 +-
guides/grails-on-travis-basics/4/css/guide.css | 176 +-
.../4/guide/createGitHubRepo.html | 30 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
guides/grails-on-travis-basics/4/guide/index.html | 4 +-
.../4/guide/integrateTravis.html | 30 +-
.../grails-on-travis-basics/4/guide/training.html | 26 +-
.../4/guide/writingTheApp.html | 30 +-
guides/grails-quickcast-logging/4/css/guide.css | 176 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
guides/grails-quickcast-logging/4/guide/index.html | 4 +-
.../grails-quickcast-logging/4/guide/training.html | 26 +-
.../4/css/guide.css | 176 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
.../4/guide/index.html | 4 +-
.../4/guide/training.html | 26 +-
.../4/css/guide.css | 176 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
.../4/guide/index.html | 4 +-
.../4/guide/training.html | 26 +-
.../grails-quickcasts-interceptors/4/css/guide.css | 176 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
.../4/guide/index.html | 4 +-
.../4/guide/training.html | 26 +-
.../grails-quickcasts-json-views/4/css/guide.css | 176 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
.../4/guide/index.html | 4 +-
.../4/guide/training.html | 26 +-
.../4/css/guide.css | 176 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
.../4/guide/index.html | 4 +-
.../4/guide/training.html | 26 +-
.../4/css/guide.css | 176 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
.../4/guide/index.html | 4 +-
.../4/guide/training.html | 26 +-
guides/grails-rabbitmq/4/css/guide.css | 176 +-
.../grails-rabbitmq/4/guide/buildingAnalytics.html | 30 +-
guides/grails-rabbitmq/4/guide/gettingStarted.html | 30 +-
guides/grails-rabbitmq/4/guide/helpWithGrails.html | 26 +-
guides/grails-rabbitmq/4/guide/index.html | 4 +-
guides/grails-rabbitmq/4/guide/nextSteps.html | 30 +-
.../grails-rabbitmq/4/guide/originalAppGrails.html | 30 +-
guides/grails-rabbitmq/4/guide/rabbitMQ.html | 30 +-
.../grails-rabbitmq/4/guide/rabbitManagement.html | 30 +-
guides/grails-rabbitmq/4/guide/running.html | 30 +-
guides/grails-rabbitmq/4/guide/runningTheApp.html | 30 +-
guides/grails-rabbitmq/4/guide/training.html | 26 +-
guides/grails-rest-library/8/css/guide.css | 176 +-
guides/grails-rest-library/8/guide/bulkCreate.html | 32 +-
.../grails-rest-library/8/guide/controllers.html | 32 +-
guides/grails-rest-library/8/guide/createApp.html | 32 +-
.../grails-rest-library/8/guide/domainModel.html | 32 +-
.../8/guide/gettingStarted.html | 28 +-
.../8/guide/helpWithGrails.html | 28 +-
guides/grails-rest-library/8/guide/index.html | 6 +-
guides/grails-rest-library/8/guide/jsonViews.html | 32 +-
guides/grails-rest-library/8/guide/pagination.html | 32 +-
.../grails-rest-library/8/guide/runningTheApp.html | 32 +-
guides/grails-rest-library/8/guide/testing.html | 32 +-
.../grails-rest-library/8/guide/urlMappings.html | 32 +-
guides/grails-rest-library/8/guide/validation.html | 32 +-
guides/grails-rest-library/8/guide/versioning.html | 32 +-
guides/grails-restapi-angularjs/4/css/guide.css | 176 +-
.../4/guide/completeAngularApplication.html | 32 +-
.../4/guide/gettingStarted.html | 32 +-
.../4/guide/helpWithGrails.html | 28 +-
guides/grails-restapi-angularjs/4/guide/index.html | 6 +-
.../4/guide/initialAngularApplication.html | 32 +-
.../4/guide/runningTheApp.html | 32 +-
.../grails-restapi-angularjs/4/guide/training.html | 28 +-
.../4/guide/writingTheApp.html | 32 +-
guides/grails-scheduled/3/css/guide.css | 176 +-
.../grails-scheduled/3/guide/gettingStarted.html | 32 +-
.../grails-scheduled/3/guide/helpWithGrails.html | 28 +-
guides/grails-scheduled/3/guide/index.html | 6 +-
guides/grails-scheduled/3/guide/training.html | 28 +-
guides/grails-scheduled/3/guide/writing.html | 32 +-
guides/grails-scheduled/4/css/guide.css | 176 +-
.../grails-scheduled/4/guide/gettingStarted.html | 32 +-
.../grails-scheduled/4/guide/helpWithGrails.html | 28 +-
guides/grails-scheduled/4/guide/index.html | 6 +-
guides/grails-scheduled/4/guide/training.html | 28 +-
guides/grails-scheduled/4/guide/writing.html | 32 +-
guides/grails-schwartz/4/css/guide.css | 176 +-
guides/grails-schwartz/4/guide/gettingStarted.html | 30 +-
guides/grails-schwartz/4/guide/helpWithGrails.html | 26 +-
guides/grails-schwartz/4/guide/index.html | 4 +-
guides/grails-schwartz/4/guide/training.html | 26 +-
guides/grails-schwartz/4/guide/writing.html | 30 +-
guides/grails-soap/3/css/guide.css | 176 +-
guides/grails-soap/3/guide/gettingStarted.html | 32 +-
guides/grails-soap/3/guide/helpWithGrails.html | 28 +-
guides/grails-soap/3/guide/index.html | 6 +-
guides/grails-soap/3/guide/training.html | 28 +-
guides/grails-soap/3/guide/writingTheApp.html | 32 +-
guides/grails-soap/4/css/guide.css | 176 +-
guides/grails-soap/4/guide/gettingStarted.html | 30 +-
guides/grails-soap/4/guide/helpWithGrails.html | 26 +-
guides/grails-soap/4/guide/index.html | 4 +-
guides/grails-soap/4/guide/training.html | 26 +-
guides/grails-soap/4/guide/writingTheApp.html | 30 +-
guides/grails-spock-test-tour/8/css/guide.css | 176 +-
.../8/guide/controllerUnitTest.html | 32 +-
.../grails-spock-test-tour/8/guide/dataTest.html | 32 +-
.../8/guide/domainUnitTest.html | 32 +-
.../8/guide/functionalTest.html | 32 +-
.../8/guide/gettingStarted.html | 28 +-
.../8/guide/helpWithGrails.html | 28 +-
guides/grails-spock-test-tour/8/guide/index.html | 6 +-
.../8/guide/integrationTest.html | 32 +-
.../8/guide/parameterised.html | 32 +-
.../grails-spock-test-tour/8/guide/platform.html | 32 +-
.../grails-spock-test-tour/8/guide/testLayers.html | 32 +-
.../3/css/guide.css | 176 +-
.../3/guide/gettingStarted.html | 32 +-
.../3/guide/helpWithGrails.html | 28 +-
.../3/guide/index.html | 6 +-
.../3/guide/runningTheApp.html | 32 +-
.../3/guide/training.html | 28 +-
.../3/guide/writingTheApp.html | 32 +-
.../4/css/guide.css | 176 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
.../4/guide/index.html | 4 +-
.../4/guide/runningTheApp.html | 30 +-
.../4/guide/training.html | 26 +-
.../4/guide/writingTheApp.html | 30 +-
guides/grails-spring-security/8/css/guide.css | 176 +-
.../8/guide/gettingStarted.html | 32 +-
.../8/guide/helpWithGrails.html | 28 +-
guides/grails-spring-security/8/guide/index.html | 6 +-
.../8/guide/installingPlugin.html | 32 +-
.../8/guide/introduction.html | 28 +-
.../8/guide/requirements.html | 32 +-
.../8/guide/runningTheApp.html | 32 +-
.../8/guide/securingControllers.html | 32 +-
guides/grails-spring-security/8/guide/summary.html | 32 +-
guides/grails-spring-security/8/guide/testing.html | 32 +-
.../grails-spring-security/8/guide/userDomain.html | 32 +-
guides/grails-taglib-wyswyg-trix/3/css/guide.css | 176 +-
.../3/guide/gettingStarted.html | 32 +-
.../3/guide/helpWithGrails.html | 28 +-
.../grails-taglib-wyswyg-trix/3/guide/index.html | 6 +-
.../3/guide/runningTheApp.html | 32 +-
.../3/guide/training.html | 28 +-
.../3/guide/writingTheApp.html | 32 +-
guides/grails-taglib-wyswyg-trix/4/css/guide.css | 176 +-
.../4/guide/gettingStarted.html | 32 +-
.../4/guide/helpWithGrails.html | 28 +-
.../grails-taglib-wyswyg-trix/4/guide/index.html | 6 +-
.../4/guide/runningTheApp.html | 32 +-
.../4/guide/training.html | 28 +-
.../4/guide/writingTheApp.html | 32 +-
guides/grails-tailwindcss/8/css/guide.css | 176 +-
.../grails-tailwindcss/8/guide/componentLayer.html | 32 +-
.../8/guide/configureTailwind.html | 32 +-
guides/grails-tailwindcss/8/guide/createApp.html | 32 +-
guides/grails-tailwindcss/8/guide/darkMode.html | 32 +-
guides/grails-tailwindcss/8/guide/firstPaint.html | 32 +-
.../grails-tailwindcss/8/guide/gettingStarted.html | 28 +-
.../grails-tailwindcss/8/guide/gradleWiring.html | 32 +-
.../grails-tailwindcss/8/guide/helpWithGrails.html | 28 +-
guides/grails-tailwindcss/8/guide/index.html | 6 +-
.../8/guide/installTailwind.html | 32 +-
guides/grails-tailwindcss/8/guide/testing.html | 32 +-
.../3/css/guide.css | 176 +-
.../3/guide/gettingStarted.html | 32 +-
.../3/guide/index.html | 6 +-
.../3/guide/testingTheApp.html | 28 +-
.../3/guide/training.html | 28 +-
.../3/guide/writingTheApp.html | 32 +-
.../4/css/guide.css | 176 +-
.../4/guide/gettingStarted.html | 32 +-
.../4/guide/index.html | 6 +-
.../4/guide/testingTheApp.html | 28 +-
.../4/guide/training.html | 28 +-
.../4/guide/writingTheApp.html | 32 +-
guides/grails-test-security/3/css/guide.css | 176 +-
guides/grails-test-security/3/guide/appendixA.html | 32 +-
.../3/guide/gettingStarted.html | 32 +-
.../3/guide/helpWithGrails.html | 28 +-
guides/grails-test-security/3/guide/index.html | 6 +-
.../3/guide/runningTheApp.html | 32 +-
guides/grails-test-security/3/guide/training.html | 28 +-
.../3/guide/writingTheApp.html | 32 +-
guides/grails-test-security/4/css/guide.css | 176 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
guides/grails-test-security/4/guide/index.html | 4 +-
.../4/guide/runningTheApp.html | 30 +-
guides/grails-test-security/4/guide/training.html | 26 +-
.../4/guide/writingTheApp.html | 30 +-
guides/grails-transactional-events/8/css/guide.css | 176 +-
.../8/guide/asyncDispatch.html | 32 +-
.../8/guide/atomicRollbackTest.html | 32 +-
.../8/guide/createApp.html | 32 +-
.../8/guide/domainModel.html | 32 +-
.../8/guide/eventClass.html | 32 +-
.../8/guide/gettingStarted.html | 28 +-
.../8/guide/helpWithGrails.html | 28 +-
.../grails-transactional-events/8/guide/index.html | 6 +-
.../8/guide/integrationTest.html | 32 +-
.../8/guide/multipleListeners.html | 32 +-
.../8/guide/publishingEvents.html | 32 +-
.../8/guide/registeringListeners.html | 32 +-
.../8/guide/sameTransactionProblem.html | 32 +-
.../8/guide/synchronousOrchestration.html | 32 +-
.../8/guide/testingThePattern.html | 32 +-
.../8/guide/theProblem.html | 32 +-
.../8/guide/transactionPhases.html | 32 +-
.../8/guide/transactionalListener.html | 32 +-
.../8/guide/vsGormEvents.html | 32 +-
.../8/guide/workOrderDomainModel.html | 32 +-
guides/grails-tvmlapp/3/css/guide.css | 176 +-
guides/grails-tvmlapp/3/guide/gettingStarted.html | 32 +-
guides/grails-tvmlapp/3/guide/helpWithGrails.html | 28 +-
guides/grails-tvmlapp/3/guide/index.html | 6 +-
guides/grails-tvmlapp/3/guide/runningTheApp.html | 32 +-
guides/grails-tvmlapp/3/guide/training.html | 28 +-
guides/grails-tvmlapp/3/guide/writingTheApp.html | 32 +-
.../grails-tvmlapp/3/guide/writingTheTvOSApp.html | 32 +-
guides/grails-tvmlapp/4/css/guide.css | 176 +-
guides/grails-tvmlapp/4/guide/gettingStarted.html | 30 +-
guides/grails-tvmlapp/4/guide/helpWithGrails.html | 26 +-
guides/grails-tvmlapp/4/guide/index.html | 4 +-
guides/grails-tvmlapp/4/guide/runningTheApp.html | 30 +-
guides/grails-tvmlapp/4/guide/training.html | 26 +-
guides/grails-tvmlapp/4/guide/writingTheApp.html | 30 +-
.../grails-tvmlapp/4/guide/writingTheTvOSApp.html | 30 +-
guides/grails-upload-file/3/css/guide.css | 176 +-
guides/grails-upload-file/3/guide/awsS3.html | 32 +-
.../grails-upload-file/3/guide/gettingStarted.html | 32 +-
.../grails-upload-file/3/guide/helpWithGrails.html | 28 +-
guides/grails-upload-file/3/guide/index.html | 6 +-
.../3/guide/pointOfInterest.html | 32 +-
guides/grails-upload-file/3/guide/restaurant.html | 32 +-
guides/grails-upload-file/3/guide/training.html | 28 +-
.../grails-upload-file/3/guide/writingTheApp.html | 32 +-
guides/grails-upload-file/4/css/guide.css | 176 +-
guides/grails-upload-file/4/guide/awsS3.html | 32 +-
.../grails-upload-file/4/guide/gettingStarted.html | 32 +-
.../grails-upload-file/4/guide/helpWithGrails.html | 28 +-
guides/grails-upload-file/4/guide/index.html | 6 +-
.../4/guide/pointOfInterest.html | 32 +-
guides/grails-upload-file/4/guide/restaurant.html | 32 +-
guides/grails-upload-file/4/guide/training.html | 28 +-
.../grails-upload-file/4/guide/writingTheApp.html | 32 +-
guides/grails-vite-spa/8/css/guide.css | 176 +-
guides/grails-vite-spa/8/guide/backend.html | 32 +-
guides/grails-vite-spa/8/guide/cors.html | 32 +-
guides/grails-vite-spa/8/guide/devMode.html | 32 +-
guides/grails-vite-spa/8/guide/frontend.html | 32 +-
guides/grails-vite-spa/8/guide/gettingStarted.html | 28 +-
guides/grails-vite-spa/8/guide/helpWithGrails.html | 28 +-
guides/grails-vite-spa/8/guide/index.html | 6 +-
guides/grails-vite-spa/8/guide/layout.html | 32 +-
guides/grails-vite-spa/8/guide/prodBuild.html | 32 +-
guides/grails-vite-spa/8/guide/spaController.html | 32 +-
guides/grails-vite-spa/8/guide/testing.html | 32 +-
guides/grails-vite-spa/8/guide/urlMappings.html | 32 +-
guides/grails-vite-spa/8/guide/viteConfig.html | 32 +-
guides/grails-vs-nodejs/4/css/guide.css | 176 +-
.../grails-vs-nodejs/4/guide/gettingStarted.html | 30 +-
.../grails-vs-nodejs/4/guide/helpWithGrails.html | 26 +-
guides/grails-vs-nodejs/4/guide/index.html | 4 +-
guides/grails-vs-nodejs/4/guide/requirements.html | 30 +-
guides/grails-vs-nodejs/4/guide/runningTheApp.html | 30 +-
guides/grails-vs-nodejs/4/guide/training.html | 26 +-
guides/grails-vs-nodejs/4/guide/writingTheApp.html | 30 +-
guides/grails-vue-combined/4/css/guide.css | 176 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
guides/grails-vue-combined/4/guide/index.html | 4 +-
.../grails-vue-combined/4/guide/runningTheApp.html | 30 +-
guides/grails-vue-combined/4/guide/training.html | 26 +-
.../grails-vue-combined/4/guide/writingTheApp.html | 30 +-
guides/grails-yourkit-profiling/4/css/guide.css | 176 +-
.../4/guide/conclusion.html | 30 +-
.../4/guide/evaluatingTheApp.html | 30 +-
.../4/guide/excessiveGarbageCollection.html | 30 +-
.../4/guide/excessiveHeapMemory.html | 30 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
guides/grails-yourkit-profiling/4/guide/index.html | 4 +-
.../4/guide/inefficientDelete.html | 30 +-
.../grails-yourkit-profiling/4/guide/training.html | 26 +-
guides/grails_i18n/3/css/guide.css | 176 +-
guides/grails_i18n/3/guide/gettingStarted.html | 32 +-
guides/grails_i18n/3/guide/helpWithGrails.html | 28 +-
guides/grails_i18n/3/guide/index.html | 6 +-
guides/grails_i18n/3/guide/runningTheApp.html | 32 +-
guides/grails_i18n/3/guide/training.html | 28 +-
guides/grails_i18n/3/guide/writingTheApp.html | 32 +-
guides/grails_i18n/4/css/guide.css | 176 +-
guides/grails_i18n/4/guide/gettingStarted.html | 30 +-
guides/grails_i18n/4/guide/helpWithGrails.html | 26 +-
guides/grails_i18n/4/guide/index.html | 4 +-
guides/grails_i18n/4/guide/runningTheApp.html | 30 +-
guides/grails_i18n/4/guide/training.html | 26 +-
guides/grails_i18n/4/guide/writingTheApp.html | 30 +-
guides/grails_url_mappings/4/css/guide.css | 176 +-
guides/grails_url_mappings/4/guide/conclusion.html | 30 +-
.../grails_url_mappings/4/guide/controllers.html | 30 +-
.../4/guide/creatingTheApp.html | 30 +-
.../4/guide/gettingStarted.html | 26 +-
.../4/guide/helpWithGrails.html | 26 +-
guides/grails_url_mappings/4/guide/index.html | 4 +-
.../4/guide/splitUrlMappings.html | 30 +-
guides/grails_url_mappings/4/guide/testing.html | 30 +-
.../grails_url_mappings/4/guide/urlMappings.html | 30 +-
guides/index.html | 2 +-
guides/neo4j-movies/4/css/guide.css | 176 +-
guides/neo4j-movies/4/guide/configuration.html | 30 +-
guides/neo4j-movies/4/guide/gettingStarted.html | 30 +-
guides/neo4j-movies/4/guide/index.html | 4 +-
guides/neo4j-movies/4/guide/runningTheApp.html | 26 +-
guides/neo4j-movies/4/guide/setupData.html | 30 +-
guides/neo4j-movies/4/guide/training.html | 26 +-
guides/neo4j-movies/4/guide/writingTheApp.html | 30 +-
.../querying-gorm-dynamic-finders/3/css/guide.css | 176 +-
.../3/guide/dynamicFinderSummary.html | 32 +-
.../3/guide/gettingStarted.html | 32 +-
.../3/guide/helpWithGrails.html | 28 +-
.../3/guide/index.html | 6 +-
.../3/guide/specialForms.html | 32 +-
.../3/guide/testingTheService.html | 32 +-
.../3/guide/training.html | 28 +-
.../3/guide/updatingTheService.html | 32 +-
.../querying-gorm-dynamic-finders/4/css/guide.css | 176 +-
.../4/guide/dynamicFinderSummary.html | 30 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
.../4/guide/index.html | 4 +-
.../4/guide/specialForms.html | 30 +-
.../4/guide/testingTheService.html | 30 +-
.../4/guide/training.html | 26 +-
.../4/guide/updatingTheService.html | 30 +-
guides/react-combined/4/css/guide.css | 176 +-
guides/react-combined/4/guide/gettingStarted.html | 32 +-
guides/react-combined/4/guide/index.html | 6 +-
guides/react-combined/4/guide/runningTheApp.html | 28 +-
guides/react-combined/4/guide/training.html | 28 +-
guides/react-combined/4/guide/writingTheApp.html | 32 +-
guides/react-spring-security/4/css/guide.css | 176 +-
guides/react-spring-security/4/guide/client.html | 30 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
guides/react-spring-security/4/guide/index.html | 4 +-
.../4/guide/puttingItAllTogether.html | 30 +-
.../4/guide/runningTheApp.html | 30 +-
guides/react-spring-security/4/guide/server.html | 30 +-
guides/react-spring-security/4/guide/training.html | 26 +-
.../4/guide/writingTheApp.html | 30 +-
.../4/guide/writingTheSecurity.html | 30 +-
guides/rest-hibernate/3/css/guide.css | 176 +-
guides/rest-hibernate/3/guide/gettingStarted.html | 32 +-
guides/rest-hibernate/3/guide/helpWithGrails.html | 28 +-
guides/rest-hibernate/3/guide/index.html | 6 +-
guides/rest-hibernate/3/guide/runningTheApp.html | 32 +-
guides/rest-hibernate/3/guide/training.html | 28 +-
guides/rest-hibernate/3/guide/writingTheApp.html | 32 +-
guides/rest-hibernate/4/css/guide.css | 176 +-
guides/rest-hibernate/4/guide/gettingStarted.html | 32 +-
guides/rest-hibernate/4/guide/helpWithGrails.html | 28 +-
guides/rest-hibernate/4/guide/index.html | 6 +-
guides/rest-hibernate/4/guide/runningTheApp.html | 32 +-
guides/rest-hibernate/4/guide/training.html | 28 +-
guides/rest-hibernate/4/guide/writingTheApp.html | 32 +-
guides/rest-mongodb/4/css/guide.css | 176 +-
guides/rest-mongodb/4/guide/gettingStarted.html | 30 +-
guides/rest-mongodb/4/guide/helpWithGrails.html | 26 +-
guides/rest-mongodb/4/guide/index.html | 4 +-
guides/rest-mongodb/4/guide/runningTheApp.html | 30 +-
guides/rest-mongodb/4/guide/training.html | 26 +-
guides/rest-mongodb/4/guide/writingTheApp.html | 30 +-
guides/server-sent-events/3/css/guide.css | 176 +-
.../server-sent-events/3/guide/gettingStarted.html | 32 +-
.../server-sent-events/3/guide/helpWithGrails.html | 28 +-
guides/server-sent-events/3/guide/index.html | 6 +-
.../server-sent-events/3/guide/runningTheApp.html | 32 +-
guides/server-sent-events/3/guide/training.html | 28 +-
.../server-sent-events/3/guide/writingTheApp.html | 32 +-
guides/server-sent-events/4/css/guide.css | 176 +-
.../server-sent-events/4/guide/gettingStarted.html | 32 +-
.../server-sent-events/4/guide/helpWithGrails.html | 28 +-
guides/server-sent-events/4/guide/index.html | 6 +-
.../server-sent-events/4/guide/runningTheApp.html | 32 +-
guides/server-sent-events/4/guide/training.html | 28 +-
.../server-sent-events/4/guide/writingTheApp.html | 32 +-
guides/tags/async.html | 2 +-
.../{transactions.html => background-jobs.html} | 8 +-
guides/tags/gorm.html | 2 +-
guides/tags/grails8.html | 44 +-
guides/tags/{transactions.html => jobrunr.html} | 8 +-
guides/tags/scheduling.html | 2 +-
guides/tags/spring-boot.html | 2 +-
guides/tags/testing.html | 2 +-
guides/tags/transactions.html | 2 +-
guides/using-hal-with-json-views/3/css/guide.css | 176 +-
.../3/guide/buildingApi.html | 32 +-
.../3/guide/explorableAPI.html | 32 +-
.../3/guide/gettingStarted.html | 32 +-
guides/using-hal-with-json-views/3/guide/hal.html | 32 +-
.../3/guide/helpWithGrails.html | 28 +-
.../using-hal-with-json-views/3/guide/index.html | 6 +-
.../3/guide/runningTheApp.html | 32 +-
.../3/guide/training.html | 28 +-
guides/using-hal-with-json-views/4/css/guide.css | 176 +-
.../4/guide/buildingApi.html | 30 +-
.../4/guide/explorableAPI.html | 30 +-
.../4/guide/gettingStarted.html | 30 +-
guides/using-hal-with-json-views/4/guide/hal.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
.../using-hal-with-json-views/4/guide/index.html | 4 +-
.../4/guide/runningTheApp.html | 30 +-
.../4/guide/training.html | 26 +-
guides/using-the-react-profile/4/css/guide.css | 176 +-
.../4/guide/generateTheApp.html | 30 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
guides/using-the-react-profile/4/guide/index.html | 4 +-
.../4/guide/runningTheApp.html | 30 +-
.../using-the-react-profile/4/guide/training.html | 26 +-
guides/using-the-vue-profile/3/css/guide.css | 176 +-
.../3/guide/generateTheApp.html | 32 +-
.../3/guide/gettingStarted.html | 32 +-
.../3/guide/helpWithGrails.html | 28 +-
guides/using-the-vue-profile/3/guide/index.html | 6 +-
.../3/guide/runningTheApp.html | 32 +-
guides/using-the-vue-profile/3/guide/training.html | 28 +-
guides/using-the-vue-profile/4/css/guide.css | 176 +-
.../4/guide/generateTheApp.html | 30 +-
.../4/guide/gettingStarted.html | 30 +-
.../4/guide/helpWithGrails.html | 26 +-
guides/using-the-vue-profile/4/guide/index.html | 4 +-
.../4/guide/runningTheApp.html | 30 +-
guides/using-the-vue-profile/4/guide/training.html | 26 +-
guides/vaadin-grails/4/css/guide.css | 176 +-
guides/vaadin-grails/4/guide/aboutVaadin.html | 32 +-
guides/vaadin-grails/4/guide/gettingStarted.html | 32 +-
guides/vaadin-grails/4/guide/helpWithGrails.html | 28 +-
guides/vaadin-grails/4/guide/index.html | 6 +-
guides/vaadin-grails/4/guide/nextSteps.html | 32 +-
guides/vaadin-grails/4/guide/runningTheApp.html | 32 +-
guides/vaadin-grails/4/guide/training.html | 28 +-
guides/vaadin-grails/4/guide/writingTheApp.html | 32 +-
guides/versions/3.html | 2 +-
guides/versions/4.html | 2 +-
guides/versions/5.html | 2 +-
guides/versions/6.html | 2 +-
guides/versions/8.html | 2 +-
rss.xml | 2 +-
sitemap.xml | 2 +-
1317 files changed, 53991 insertions(+), 12630 deletions(-)
diff --git a/foundation/minutes.xml b/foundation/minutes.xml
index 97ae2270378..62c1832494d 100644
--- a/foundation/minutes.xml
+++ b/foundation/minutes.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0"><channel><title>Foundation | Grails Framework</title><link>https://grails.apache.org</link><description>A powerful Groovy-based web application framework for the JVM built on top of Spring Boot</description><pubDate>Wed, 19 Aug 2026 18:49:16 GMT</pubDate><item><title>Technology Advisory Board Meeting</title><link>https://grails.apache.org/foundation/minutes/20221128-tab.html< [...]
+<?xml version="1.0" encoding="UTF-8"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0"><channel><title>Foundation | Grails Framework</title><link>https://grails.apache.org</link><description>A powerful Groovy-based web application framework for the JVM built on top of Spring Boot</description><pubDate>Wed, 19 Aug 2026 20:15:47 GMT</pubDate><item><title>Technology Advisory Board Meeting</title><link>https://grails.apache.org/foundation/minutes/20221128-tab.html< [...]
<h3>Meeting Attendance:</h3>
<ul>
<li><strong>Puneet Behl</strong> - Grails Product Development Lead at Object Computing</li>
diff --git a/foundation/minutes/20210321-tab.html b/foundation/minutes/20210321-tab.html
index 39257f9a6e3..12a48f3e614 100644
--- a/foundation/minutes/20210321-tab.html
+++ b/foundation/minutes/20210321-tab.html
@@ -239,17 +239,17 @@ community events</p>
<h3>2022</h3>
<ul>
<li>
- <minutesLink>website.model.HtmlMinutes@5648d7d7</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@dcb6276</minutesLink>
<parseDate>Nov 28, 2022</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
<li>
- <minutesLink>website.model.HtmlMinutes@37ac6069</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@65038941</minutesLink>
<parseDate>Jul 07, 2022</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
<li>
- <minutesLink>website.model.HtmlMinutes@2a51abc</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@2480a668</minutesLink>
<parseDate>Mar 23, 2022</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
@@ -257,12 +257,12 @@ community events</p>
<h3>2021</h3>
<ul>
<li>
- <minutesLink>website.model.HtmlMinutes@53effcde</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@87010da</minutesLink>
<parseDate>Dec 17, 2021</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
<li>
- <minutesLink>website.model.HtmlMinutes@3da8b17c</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@4f430fb2</minutesLink>
<parseDate>Mar 21, 2021</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
diff --git a/foundation/minutes/20211217-tab.html b/foundation/minutes/20211217-tab.html
index 6617c6fd473..b0f6abaa390 100644
--- a/foundation/minutes/20211217-tab.html
+++ b/foundation/minutes/20211217-tab.html
@@ -281,17 +281,17 @@
<h3>2022</h3>
<ul>
<li>
- <minutesLink>website.model.HtmlMinutes@5648d7d7</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@dcb6276</minutesLink>
<parseDate>Nov 28, 2022</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
<li>
- <minutesLink>website.model.HtmlMinutes@37ac6069</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@65038941</minutesLink>
<parseDate>Jul 07, 2022</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
<li>
- <minutesLink>website.model.HtmlMinutes@2a51abc</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@2480a668</minutesLink>
<parseDate>Mar 23, 2022</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
@@ -299,12 +299,12 @@
<h3>2021</h3>
<ul>
<li>
- <minutesLink>website.model.HtmlMinutes@53effcde</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@87010da</minutesLink>
<parseDate>Dec 17, 2021</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
<li>
- <minutesLink>website.model.HtmlMinutes@3da8b17c</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@4f430fb2</minutesLink>
<parseDate>Mar 21, 2021</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
diff --git a/foundation/minutes/20220323-tab.html b/foundation/minutes/20220323-tab.html
index f3c28f1b7e4..09e48e84d78 100644
--- a/foundation/minutes/20220323-tab.html
+++ b/foundation/minutes/20220323-tab.html
@@ -324,17 +324,17 @@
<h3>2022</h3>
<ul>
<li>
- <minutesLink>website.model.HtmlMinutes@5648d7d7</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@dcb6276</minutesLink>
<parseDate>Nov 28, 2022</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
<li>
- <minutesLink>website.model.HtmlMinutes@37ac6069</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@65038941</minutesLink>
<parseDate>Jul 07, 2022</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
<li>
- <minutesLink>website.model.HtmlMinutes@2a51abc</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@2480a668</minutesLink>
<parseDate>Mar 23, 2022</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
@@ -342,12 +342,12 @@
<h3>2021</h3>
<ul>
<li>
- <minutesLink>website.model.HtmlMinutes@53effcde</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@87010da</minutesLink>
<parseDate>Dec 17, 2021</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
<li>
- <minutesLink>website.model.HtmlMinutes@3da8b17c</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@4f430fb2</minutesLink>
<parseDate>Mar 21, 2021</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
diff --git a/foundation/minutes/20220711-tab.html b/foundation/minutes/20220711-tab.html
index 43cdf14c7c9..d9259fcc335 100644
--- a/foundation/minutes/20220711-tab.html
+++ b/foundation/minutes/20220711-tab.html
@@ -232,17 +232,17 @@
<h3>2022</h3>
<ul>
<li>
- <minutesLink>website.model.HtmlMinutes@5648d7d7</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@dcb6276</minutesLink>
<parseDate>Nov 28, 2022</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
<li>
- <minutesLink>website.model.HtmlMinutes@37ac6069</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@65038941</minutesLink>
<parseDate>Jul 07, 2022</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
<li>
- <minutesLink>website.model.HtmlMinutes@2a51abc</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@2480a668</minutesLink>
<parseDate>Mar 23, 2022</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
@@ -250,12 +250,12 @@
<h3>2021</h3>
<ul>
<li>
- <minutesLink>website.model.HtmlMinutes@53effcde</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@87010da</minutesLink>
<parseDate>Dec 17, 2021</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
<li>
- <minutesLink>website.model.HtmlMinutes@3da8b17c</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@4f430fb2</minutesLink>
<parseDate>Mar 21, 2021</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
diff --git a/foundation/minutes/20221128-tab.html b/foundation/minutes/20221128-tab.html
index 617710810e1..92de305c0ac 100644
--- a/foundation/minutes/20221128-tab.html
+++ b/foundation/minutes/20221128-tab.html
@@ -271,17 +271,17 @@
<h3>2022</h3>
<ul>
<li>
- <minutesLink>website.model.HtmlMinutes@5648d7d7</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@dcb6276</minutesLink>
<parseDate>Nov 28, 2022</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
<li>
- <minutesLink>website.model.HtmlMinutes@37ac6069</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@65038941</minutesLink>
<parseDate>Jul 07, 2022</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
<li>
- <minutesLink>website.model.HtmlMinutes@2a51abc</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@2480a668</minutesLink>
<parseDate>Mar 23, 2022</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
@@ -289,12 +289,12 @@
<h3>2021</h3>
<ul>
<li>
- <minutesLink>website.model.HtmlMinutes@53effcde</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@87010da</minutesLink>
<parseDate>Dec 17, 2021</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
<li>
- <minutesLink>website.model.HtmlMinutes@3da8b17c</minutesLink>
+ <minutesLink>website.model.HtmlMinutes@4f430fb2</minutesLink>
<parseDate>Mar 21, 2021</parseDate>
<a href='minutesLink'>MMM dd - Technology Advisory Board Meeting</a>
</li>
diff --git a/foundation/minutes/index.html b/foundation/minutes/index.html
index 442c9e0f5ef..97fbb76c347 100644
--- a/foundation/minutes/index.html
+++ b/foundation/minutes/index.html
@@ -126,7 +126,7 @@
</div>
</header>
-<article><div class='header-bar chalices-bg'><div class='content'><h1><a href='https://grails.apache.org/foundation/index.html'>Foundation</a></h1></div></div><div class='clear content container'><h3 class='column-header'>Meeting Minutes Archive</h3><div class='light'><div class='padded' style='padding-top: 0;'><div class="three-columns"><div class='column'><article class='blog-card' style='margin-bottom: 0; background-image: url(https://grails.apache.org/images/grails-blog-index-6.png)' [...]
+<article><div class='header-bar chalices-bg'><div class='content'><h1><a href='https://grails.apache.org/foundation/index.html'>Foundation</a></h1></div></div><div class='clear content container'><h3 class='column-header'>Meeting Minutes Archive</h3><div class='light'><div class='padded' style='padding-top: 0;'><div class="three-columns"><div class='column'><article class='blog-card' style='margin-bottom: 0; background-image: url(https://grails.apache.org/images/grails-blog-index-6.png)' [...]
<footer>
<div class='content'>
<div class='apache-grails'>
diff --git a/guides/_redirects.json b/guides/_redirects.json
index ecb713c56e4..24e7c504769 100644
--- a/guides/_redirects.json
+++ b/guides/_redirects.json
@@ -1,11 +1,27 @@
{
"version": 1,
- "generated": "2026-08-19T18:50:32.257468550Z",
+ "generated": "2026-08-19T20:17:15.682124017Z",
"from_base": "https://guides.grails.org",
"to_base": "https://grails.apache.org/guides",
- "count": 1785,
+ "count": 1789,
"description": "Mapping of legacy guides.grails.org URLs to current canonical URLs on grails.apache.org/guides. Each from path is relative to from_base; each to URL is absolute. Mirrors the meta-refresh stubs deployed to grails-guides/grails-guides-template gh-pages.",
"redirects": [
+ {
+ "from": "/grails-jobrunr/guide/index.html",
+ "to": "https://grails.apache.org/guides/grails-jobrunr/8/guide/index.html"
+ },
+ {
+ "from": "/grails-jobrunr/guide/single.html",
+ "to": "https://grails.apache.org/guides/grails-jobrunr/8/guide/index.html"
+ },
+ {
+ "from": "/grails-jobrunr/index.html",
+ "to": "https://grails.apache.org/guides/grails-jobrunr/8/guide/index.html"
+ },
+ {
+ "from": "/grails8/grails-jobrunr/guide/index.html",
+ "to": "https://grails.apache.org/guides/grails-jobrunr/8/guide/index.html"
+ },
{
"from": "/adding-commit-info/guide/index.html",
"to": "https://grails.apache.org/guides/adding-commit-info/4/guide/index.html"
diff --git a/guides/adding-commit-info/3/css/guide.css b/guides/adding-commit-info/3/css/guide.css
index 7471d71ca4e..e76a9d7eef5 100644
--- a/guides/adding-commit-info/3/css/guide.css
+++ b/guides/adding-commit-info/3/css/guide.css
@@ -68,6 +68,22 @@ textarea {
vertical-align: middle;
}
+button:focus-visible,
+a:focus-visible,
+input:focus-visible,
+select:focus-visible,
+textarea:focus-visible,
+#main pre:focus-visible,
+#navigation a:focus-visible {
+ outline: 3px solid #0969da;
+ outline-offset: 2px;
+}
+
+#navigation #nav-summary > a:focus-visible {
+ background: #1f2328;
+ color: #ffffff;
+}
+
.input-group {
display: table;
margin-top: 12px;
@@ -325,19 +341,169 @@ body.guide article.guide aside button.btn-large + ul.githublinks + .input-group
color: #ffffff;
}
+#footer {
+ box-sizing: border-box;
+}
+
.local-title {
font-size: 1.4em;
font-weight: bold;
}
+/* ---- Standalone chapter layout -------------------------------------------- */
+body.body {
+ text-align: left;
+}
+
+#colset {
+ table-layout: fixed;
+}
+
+#colset #col1 {
+ min-width: 0;
+}
+
+#main,
+#main .listingblock,
+#main .listingblock .content {
+ min-width: 0;
+ max-width: 100%;
+}
+
+#main h1,
+#main h2 {
+ color: #d97706;
+}
+
+@media screen {
+ #main pre {
+ box-sizing: border-box;
+ contain: paint;
+ max-width: 100%;
+ overflow-x: auto;
+ white-space: pre;
+ }
+
+ #main .tableblock,
+ #main .imageblock,
+ #main .videoblock,
+ #main .listingblock,
+ #main .literalblock {
+ overflow-x: auto;
+ }
+}
+
+@media print {
+ body.body .listingblock pre,
+ body.body .listingblock pre code,
+ body.body .literalblock pre,
+ body.body .literalblock pre code,
+ body.guide .listingblock pre,
+ body.guide .listingblock pre code,
+ body.guide .literalblock pre,
+ body.guide .literalblock pre code {
+ contain: none;
+ overflow-x: visible !important;
+ overflow-wrap: anywhere;
+ white-space: pre-wrap;
+ }
+}
+
+#main .tableblock,
+#main .imageblock,
+#main .videoblock,
+#main .listingblock,
+#main .literalblock {
+ max-width: 100%;
+}
+
+#main img,
+#main object,
+#main svg {
+ height: auto;
+ max-width: 100%;
+}
+
+.chapter-navigation {
+ display: flex;
+ justify-content: space-between;
+ gap: 16px;
+ margin-bottom: 16px;
+}
+
+.chapter-navigation .toc-item {
+ float: none;
+}
+
+.chapter-navigation .next-right {
+ margin-left: auto;
+ text-align: right;
+}
+
+#nav-summary-childs {
+ display: none;
+ box-sizing: border-box;
+ max-width: calc(100vw - 32px);
+}
+
+#nav-summary:hover #nav-summary-childs,
+#nav-summary:focus-within #nav-summary-childs {
+ display: block;
+}
+
+.downloadButton {
+ display: inline-block;
+ color: #24292f !important;
+ background: #ffffff;
+ border: 1px solid #d0d7de;
+ border-radius: 6px;
+ padding: 7px 12px;
+ text-decoration: none;
+}
+
+.downloadButton:hover {
+ background: #f6f8fa;
+}
+
/* ---- Responsive: hide aside on small screens ----------------------------- */
-@media only screen and (max-device-width: 480px) and (orientation: portrait) {
+@media only screen and (max-width: 768px) {
+ body.body {
+ text-align: left;
+ }
+
+ .chapter-navigation {
+ align-items: flex-start;
+ flex-direction: column;
+ gap: 8px;
+ }
+
+ .chapter-navigation .next-right {
+ margin-left: 0;
+ text-align: left;
+ }
+
+ .contribute-btn {
+ clear: both;
+ float: none;
+ margin: 8px 0 16px;
+ position: static;
+ top: auto;
+ }
+
+ #colset,
+ #colset tbody,
+ #colset tr,
+ #colset #col1 {
+ display: block;
+ width: 100%;
+ }
#colset #col1 {
margin: 0;
padding: 0;
}
#main {
- width: 98%;
+ box-sizing: border-box;
+ width: auto;
margin: 0;
border: 0;
}
@@ -345,3 +511,9 @@ body.guide article.guide aside button.btn-large + ul.githublinks + .input-group
display: none;
}
}
+
+@media only screen and (min-width: 481px) and (max-width: 900px) {
+ body.guide article.guide > header {
+ padding-right: 72px;
+ }
+}
diff --git a/guides/adding-commit-info/3/guide/configuration.html b/guides/adding-commit-info/3/guide/configuration.html
index 85cfc1a2c1a..0fa870bfcef 100644
--- a/guides/adding-commit-info/3/guide/configuration.html
+++ b/guides/adding-commit-info/3/guide/configuration.html
@@ -4,10 +4,12 @@
<head>
<title>6 Configuration</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/adding-commit-info/3/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -66,13 +68,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/runningTheApp.html"><< <strong>5</strong><span>Running the Application</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/runningTheApp.html"><< <strong>5</strong><span>Running the Application</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/tldr.html"><strong>7</strong><span>tl;dr (Too long; didn't read)</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/tldr.html"><strong>7</strong><span>tl;dr (Too long; didn't read)</span> >></a></div>
+
+ </nav>
@@ -328,8 +332,7 @@ Consult the Spring <a href="https://grails-plugins.github.io/grails-spring-secur
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/adding-commit-info"><img src="https://travis-ci.org/grails-guides/adding-commit-info.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/adding-commit-info">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -342,17 +345,18 @@ Consult the Spring <a href="https://grails-plugins.github.io/grails-spring-secur
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/adding-commit-info.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/adding-commit-info.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/adding-commit-info/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/adding-commit-info/archive/grails3.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/adding-commit-info/3/guide/gettingStarted.html b/guides/adding-commit-info/3/guide/gettingStarted.html
index d240dcea9ee..f1e8deea2f0 100644
--- a/guides/adding-commit-info/3/guide/gettingStarted.html
+++ b/guides/adding-commit-info/3/guide/gettingStarted.html
@@ -4,10 +4,12 @@
<head>
<title>2 Getting Started</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/adding-commit-info/3/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -66,13 +68,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/training.html"><< <strong>1</strong><span>Grails Training</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/training.html"><< <strong>1</strong><span>Grails Training</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/history.html"><strong>3</strong><span>History</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/history.html"><strong>3</strong><span>History</span> >></a></div>
+
+ </nav>
@@ -241,8 +245,7 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/adding-commit-info"><img src="https://travis-ci.org/grails-guides/adding-commit-info.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/adding-commit-info">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -255,17 +258,18 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/adding-commit-info.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/adding-commit-info.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/adding-commit-info/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/adding-commit-info/archive/grails3.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/adding-commit-info/3/guide/history.html b/guides/adding-commit-info/3/guide/history.html
index 04147132ce4..3949f217e49 100644
--- a/guides/adding-commit-info/3/guide/history.html
+++ b/guides/adding-commit-info/3/guide/history.html
@@ -4,10 +4,12 @@
<head>
<title>3 History</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/adding-commit-info/3/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -66,13 +68,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/gettingStarted.html"><< <strong>2</strong><span>Getting Started</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/gettingStarted.html"><< <strong>2</strong><span>Getting Started</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/writingTheApp.html"><strong>4</strong><span>Writing the Application</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/writingTheApp.html"><strong>4</strong><span>Writing the Application</span> >></a></div>
+
+ </nav>
@@ -206,8 +210,7 @@ The build-info plugin works by utilizing the environment variables available via
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/adding-commit-info"><img src="https://travis-ci.org/grails-guides/adding-commit-info.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/adding-commit-info">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -220,17 +223,18 @@ The build-info plugin works by utilizing the environment variables available via
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/adding-commit-info.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/adding-commit-info.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/adding-commit-info/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/adding-commit-info/archive/grails3.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/adding-commit-info/3/guide/index.html b/guides/adding-commit-info/3/guide/index.html
index 39cbb003428..ad6079d358b 100644
--- a/guides/adding-commit-info/3/guide/index.html
+++ b/guides/adding-commit-info/3/guide/index.html
@@ -117,13 +117,13 @@
<li><button type="button" class="btn btn-default codeButton" onclick="document.getElementById('github-url').value='https://github.com/grails-guides/adding-commit-info.git'">HTTPS</button></li>
</ul>
<div class="input-group">
- <input id="github-url" value="git@github.com:grails-guides/adding-commit-info.git" type="text"/>
- <button type="button" class="clippy btn btn-default" data-clipboard-target="#github-url">
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/adding-commit-info.git" type="text"/>
+ <button type="button" class="clippy btn btn-default" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
</div>
<script>var clipboard = new Clipboard('.clippy');</script>
- <button type="button" class="btn btn-large" onclick="window.location.href="https://github.com/grails-guides/adding-commit-info/archive/master.zip"">Download ZIP</button>
+ <button type="button" class="btn btn-large" onclick="window.location.href="https://github.com/grails-guides/adding-commit-info/archive/grails3.zip"">Download ZIP</button>
<div id="table-of-content">
<h3>Table of Contents</h3>
diff --git a/guides/adding-commit-info/3/guide/runningTheApp.html b/guides/adding-commit-info/3/guide/runningTheApp.html
index a342824b48d..00c431da2cf 100644
--- a/guides/adding-commit-info/3/guide/runningTheApp.html
+++ b/guides/adding-commit-info/3/guide/runningTheApp.html
@@ -4,10 +4,12 @@
<head>
<title>5 Running the Application</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/adding-commit-info/3/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -66,13 +68,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/writingTheApp.html"><< <strong>4</strong><span>Writing the Application</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/writingTheApp.html"><< <strong>4</strong><span>Writing the Application</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/configuration.html"><strong>6</strong><span>Configuration</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/configuration.html"><strong>6</strong><span>Configuration</span> >></a></div>
+
+ </nav>
@@ -126,8 +130,7 @@ and you should see some JSON formatted info like:</p>
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/adding-commit-info"><img src="https://travis-ci.org/grails-guides/adding-commit-info.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/adding-commit-info">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -140,17 +143,18 @@ and you should see some JSON formatted info like:</p>
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/adding-commit-info.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/adding-commit-info.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/adding-commit-info/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/adding-commit-info/archive/grails3.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/adding-commit-info/3/guide/tldr.html b/guides/adding-commit-info/3/guide/tldr.html
index 8c6e00430ef..847b6742f70 100644
--- a/guides/adding-commit-info/3/guide/tldr.html
+++ b/guides/adding-commit-info/3/guide/tldr.html
@@ -4,10 +4,12 @@
<head>
<title>7 tl;dr (Too long; didn't read)</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/adding-commit-info/3/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -66,11 +68,13 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/configuration.html"><< <strong>6</strong><span>Configuration</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/configuration.html"><< <strong>6</strong><span>Configuration</span></a></div>
+
-
+
+ </nav>
@@ -119,8 +123,7 @@ function addJsClass() {
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/adding-commit-info"><img src="https://travis-ci.org/grails-guides/adding-commit-info.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/adding-commit-info">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -133,17 +136,18 @@ function addJsClass() {
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/adding-commit-info.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/adding-commit-info.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/adding-commit-info/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/adding-commit-info/archive/grails3.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/adding-commit-info/3/guide/training.html b/guides/adding-commit-info/3/guide/training.html
index c4691edfb9a..29112602306 100644
--- a/guides/adding-commit-info/3/guide/training.html
+++ b/guides/adding-commit-info/3/guide/training.html
@@ -4,10 +4,12 @@
<head>
<title>1 Grails Training</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/adding-commit-info/3/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -66,11 +68,13 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
-
- <div class="toc-item next-right"><a href="../guide/gettingStarted.html"><strong>2</strong><span>Getting Started</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/gettingStarted.html"><strong>2</strong><span>Getting Started</span> >></a></div>
+
+ </nav>
@@ -105,8 +109,7 @@ function addJsClass() {
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/adding-commit-info"><img src="https://travis-ci.org/grails-guides/adding-commit-info.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/adding-commit-info">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -119,17 +122,18 @@ function addJsClass() {
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/adding-commit-info.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/adding-commit-info.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/adding-commit-info/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/adding-commit-info/archive/grails3.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/adding-commit-info/3/guide/writingTheApp.html b/guides/adding-commit-info/3/guide/writingTheApp.html
index 15054f124ae..24f70b6056e 100644
--- a/guides/adding-commit-info/3/guide/writingTheApp.html
+++ b/guides/adding-commit-info/3/guide/writingTheApp.html
@@ -4,10 +4,12 @@
<head>
<title>4 Writing the Application</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/adding-commit-info/3/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -66,13 +68,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/history.html"><< <strong>3</strong><span>History</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/history.html"><< <strong>3</strong><span>History</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/runningTheApp.html"><strong>5</strong><span>Running the Application</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/runningTheApp.html"><strong>5</strong><span>Running the Application</span> >></a></div>
+
+ </nav>
@@ -278,8 +282,7 @@ The endpoints are disabled by default so the first step is to enabled them.</p>
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/adding-commit-info"><img src="https://travis-ci.org/grails-guides/adding-commit-info.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/adding-commit-info">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -292,17 +295,18 @@ The endpoints are disabled by default so the first step is to enabled them.</p>
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/adding-commit-info.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/adding-commit-info.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/adding-commit-info/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/adding-commit-info/archive/grails3.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/adding-commit-info/4/css/guide.css b/guides/adding-commit-info/4/css/guide.css
index 7471d71ca4e..e76a9d7eef5 100644
--- a/guides/adding-commit-info/4/css/guide.css
+++ b/guides/adding-commit-info/4/css/guide.css
@@ -68,6 +68,22 @@ textarea {
vertical-align: middle;
}
+button:focus-visible,
+a:focus-visible,
+input:focus-visible,
+select:focus-visible,
+textarea:focus-visible,
+#main pre:focus-visible,
+#navigation a:focus-visible {
+ outline: 3px solid #0969da;
+ outline-offset: 2px;
+}
+
+#navigation #nav-summary > a:focus-visible {
+ background: #1f2328;
+ color: #ffffff;
+}
+
.input-group {
display: table;
margin-top: 12px;
@@ -325,19 +341,169 @@ body.guide article.guide aside button.btn-large + ul.githublinks + .input-group
color: #ffffff;
}
+#footer {
+ box-sizing: border-box;
+}
+
.local-title {
font-size: 1.4em;
font-weight: bold;
}
+/* ---- Standalone chapter layout -------------------------------------------- */
+body.body {
+ text-align: left;
+}
+
+#colset {
+ table-layout: fixed;
+}
+
+#colset #col1 {
+ min-width: 0;
+}
+
+#main,
+#main .listingblock,
+#main .listingblock .content {
+ min-width: 0;
+ max-width: 100%;
+}
+
+#main h1,
+#main h2 {
+ color: #d97706;
+}
+
+@media screen {
+ #main pre {
+ box-sizing: border-box;
+ contain: paint;
+ max-width: 100%;
+ overflow-x: auto;
+ white-space: pre;
+ }
+
+ #main .tableblock,
+ #main .imageblock,
+ #main .videoblock,
+ #main .listingblock,
+ #main .literalblock {
+ overflow-x: auto;
+ }
+}
+
+@media print {
+ body.body .listingblock pre,
+ body.body .listingblock pre code,
+ body.body .literalblock pre,
+ body.body .literalblock pre code,
+ body.guide .listingblock pre,
+ body.guide .listingblock pre code,
+ body.guide .literalblock pre,
+ body.guide .literalblock pre code {
+ contain: none;
+ overflow-x: visible !important;
+ overflow-wrap: anywhere;
+ white-space: pre-wrap;
+ }
+}
+
+#main .tableblock,
+#main .imageblock,
+#main .videoblock,
+#main .listingblock,
+#main .literalblock {
+ max-width: 100%;
+}
+
+#main img,
+#main object,
+#main svg {
+ height: auto;
+ max-width: 100%;
+}
+
+.chapter-navigation {
+ display: flex;
+ justify-content: space-between;
+ gap: 16px;
+ margin-bottom: 16px;
+}
+
+.chapter-navigation .toc-item {
+ float: none;
+}
+
+.chapter-navigation .next-right {
+ margin-left: auto;
+ text-align: right;
+}
+
+#nav-summary-childs {
+ display: none;
+ box-sizing: border-box;
+ max-width: calc(100vw - 32px);
+}
+
+#nav-summary:hover #nav-summary-childs,
+#nav-summary:focus-within #nav-summary-childs {
+ display: block;
+}
+
+.downloadButton {
+ display: inline-block;
+ color: #24292f !important;
+ background: #ffffff;
+ border: 1px solid #d0d7de;
+ border-radius: 6px;
+ padding: 7px 12px;
+ text-decoration: none;
+}
+
+.downloadButton:hover {
+ background: #f6f8fa;
+}
+
/* ---- Responsive: hide aside on small screens ----------------------------- */
-@media only screen and (max-device-width: 480px) and (orientation: portrait) {
+@media only screen and (max-width: 768px) {
+ body.body {
+ text-align: left;
+ }
+
+ .chapter-navigation {
+ align-items: flex-start;
+ flex-direction: column;
+ gap: 8px;
+ }
+
+ .chapter-navigation .next-right {
+ margin-left: 0;
+ text-align: left;
+ }
+
+ .contribute-btn {
+ clear: both;
+ float: none;
+ margin: 8px 0 16px;
+ position: static;
+ top: auto;
+ }
+
+ #colset,
+ #colset tbody,
+ #colset tr,
+ #colset #col1 {
+ display: block;
+ width: 100%;
+ }
#colset #col1 {
margin: 0;
padding: 0;
}
#main {
- width: 98%;
+ box-sizing: border-box;
+ width: auto;
margin: 0;
border: 0;
}
@@ -345,3 +511,9 @@ body.guide article.guide aside button.btn-large + ul.githublinks + .input-group
display: none;
}
}
+
+@media only screen and (min-width: 481px) and (max-width: 900px) {
+ body.guide article.guide > header {
+ padding-right: 72px;
+ }
+}
diff --git a/guides/adding-commit-info/4/guide/configuration.html b/guides/adding-commit-info/4/guide/configuration.html
index ef35eaeaa15..52a9d429ad6 100644
--- a/guides/adding-commit-info/4/guide/configuration.html
+++ b/guides/adding-commit-info/4/guide/configuration.html
@@ -4,10 +4,12 @@
<head>
<title>6 Configuration</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/adding-commit-info/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -66,13 +68,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/runningTheApp.html"><< <strong>5</strong><span>Running the Application</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/runningTheApp.html"><< <strong>5</strong><span>Running the Application</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/tldr.html"><strong>7</strong><span>tl;dr (Too long; didn't read)</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/tldr.html"><strong>7</strong><span>tl;dr (Too long; didn't read)</span> >></a></div>
+
+ </nav>
@@ -340,8 +344,7 @@ Consult the Spring <a href="https://grails-plugins.github.io/grails-spring-secur
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/adding-commit-info"><img src="https://travis-ci.org/grails-guides/adding-commit-info.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/adding-commit-info">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -354,17 +357,18 @@ Consult the Spring <a href="https://grails-plugins.github.io/grails-spring-secur
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/adding-commit-info.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/adding-commit-info.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/adding-commit-info/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/adding-commit-info/archive/grails4.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/adding-commit-info/4/guide/gettingStarted.html b/guides/adding-commit-info/4/guide/gettingStarted.html
index 18fa16fb14c..2234617486b 100644
--- a/guides/adding-commit-info/4/guide/gettingStarted.html
+++ b/guides/adding-commit-info/4/guide/gettingStarted.html
@@ -4,10 +4,12 @@
<head>
<title>2 Getting Started</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/adding-commit-info/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -66,13 +68,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/training.html"><< <strong>1</strong><span>Grails Training</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/training.html"><< <strong>1</strong><span>Grails Training</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/history.html"><strong>3</strong><span>History</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/history.html"><strong>3</strong><span>History</span> >></a></div>
+
+ </nav>
@@ -241,8 +245,7 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/adding-commit-info"><img src="https://travis-ci.org/grails-guides/adding-commit-info.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/adding-commit-info">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -255,17 +258,18 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/adding-commit-info.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/adding-commit-info.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/adding-commit-info/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/adding-commit-info/archive/grails4.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/adding-commit-info/4/guide/history.html b/guides/adding-commit-info/4/guide/history.html
index 4532fe4f3f8..a2663eefd24 100644
--- a/guides/adding-commit-info/4/guide/history.html
+++ b/guides/adding-commit-info/4/guide/history.html
@@ -4,10 +4,12 @@
<head>
<title>3 History</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/adding-commit-info/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -66,13 +68,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/gettingStarted.html"><< <strong>2</strong><span>Getting Started</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/gettingStarted.html"><< <strong>2</strong><span>Getting Started</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/writingTheApp.html"><strong>4</strong><span>Writing the Application</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/writingTheApp.html"><strong>4</strong><span>Writing the Application</span> >></a></div>
+
+ </nav>
@@ -206,8 +210,7 @@ The build-info plugin works by utilizing the environment variables available via
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/adding-commit-info"><img src="https://travis-ci.org/grails-guides/adding-commit-info.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/adding-commit-info">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -220,17 +223,18 @@ The build-info plugin works by utilizing the environment variables available via
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/adding-commit-info.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/adding-commit-info.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/adding-commit-info/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/adding-commit-info/archive/grails4.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/adding-commit-info/4/guide/index.html b/guides/adding-commit-info/4/guide/index.html
index 5901fbaf88f..50ee21a6a50 100644
--- a/guides/adding-commit-info/4/guide/index.html
+++ b/guides/adding-commit-info/4/guide/index.html
@@ -117,13 +117,13 @@
<li><button type="button" class="btn btn-default codeButton" onclick="document.getElementById('github-url').value='https://github.com/grails-guides/adding-commit-info.git'">HTTPS</button></li>
</ul>
<div class="input-group">
- <input id="github-url" value="git@github.com:grails-guides/adding-commit-info.git" type="text"/>
- <button type="button" class="clippy btn btn-default" data-clipboard-target="#github-url">
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/adding-commit-info.git" type="text"/>
+ <button type="button" class="clippy btn btn-default" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
</div>
<script>var clipboard = new Clipboard('.clippy');</script>
- <button type="button" class="btn btn-large" onclick="window.location.href="https://github.com/grails-guides/adding-commit-info/archive/master.zip"">Download ZIP</button>
+ <button type="button" class="btn btn-large" onclick="window.location.href="https://github.com/grails-guides/adding-commit-info/archive/grails4.zip"">Download ZIP</button>
<div id="table-of-content">
<h3>Table of Contents</h3>
diff --git a/guides/adding-commit-info/4/guide/runningTheApp.html b/guides/adding-commit-info/4/guide/runningTheApp.html
index 1cd6605e2b3..3023939c682 100644
--- a/guides/adding-commit-info/4/guide/runningTheApp.html
+++ b/guides/adding-commit-info/4/guide/runningTheApp.html
@@ -4,10 +4,12 @@
<head>
<title>5 Running the Application</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/adding-commit-info/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -66,13 +68,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/writingTheApp.html"><< <strong>4</strong><span>Writing the Application</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/writingTheApp.html"><< <strong>4</strong><span>Writing the Application</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/configuration.html"><strong>6</strong><span>Configuration</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/configuration.html"><strong>6</strong><span>Configuration</span> >></a></div>
+
+ </nav>
@@ -126,8 +130,7 @@ and you should see some JSON formatted info like:</p>
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/adding-commit-info"><img src="https://travis-ci.org/grails-guides/adding-commit-info.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/adding-commit-info">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -140,17 +143,18 @@ and you should see some JSON formatted info like:</p>
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/adding-commit-info.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/adding-commit-info.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/adding-commit-info/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/adding-commit-info/archive/grails4.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/adding-commit-info/4/guide/tldr.html b/guides/adding-commit-info/4/guide/tldr.html
index 935e1cf04fa..b407dd8367e 100644
--- a/guides/adding-commit-info/4/guide/tldr.html
+++ b/guides/adding-commit-info/4/guide/tldr.html
@@ -4,10 +4,12 @@
<head>
<title>7 tl;dr (Too long; didn't read)</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/adding-commit-info/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -66,11 +68,13 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/configuration.html"><< <strong>6</strong><span>Configuration</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/configuration.html"><< <strong>6</strong><span>Configuration</span></a></div>
+
-
+
+ </nav>
@@ -119,8 +123,7 @@ function addJsClass() {
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/adding-commit-info"><img src="https://travis-ci.org/grails-guides/adding-commit-info.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/adding-commit-info">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -133,17 +136,18 @@ function addJsClass() {
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/adding-commit-info.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/adding-commit-info.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/adding-commit-info/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/adding-commit-info/archive/grails4.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/adding-commit-info/4/guide/training.html b/guides/adding-commit-info/4/guide/training.html
index f46b675c4ac..f1bd1ddd2b9 100644
--- a/guides/adding-commit-info/4/guide/training.html
+++ b/guides/adding-commit-info/4/guide/training.html
@@ -4,10 +4,12 @@
<head>
<title>1 Grails Training</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/adding-commit-info/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -66,11 +68,13 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
-
- <div class="toc-item next-right"><a href="../guide/gettingStarted.html"><strong>2</strong><span>Getting Started</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/gettingStarted.html"><strong>2</strong><span>Getting Started</span> >></a></div>
+
+ </nav>
@@ -105,8 +109,7 @@ function addJsClass() {
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/adding-commit-info"><img src="https://travis-ci.org/grails-guides/adding-commit-info.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/adding-commit-info">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -119,17 +122,18 @@ function addJsClass() {
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/adding-commit-info.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/adding-commit-info.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/adding-commit-info/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/adding-commit-info/archive/grails4.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/adding-commit-info/4/guide/writingTheApp.html b/guides/adding-commit-info/4/guide/writingTheApp.html
index 92a7f0e1c05..02e2d98d74a 100644
--- a/guides/adding-commit-info/4/guide/writingTheApp.html
+++ b/guides/adding-commit-info/4/guide/writingTheApp.html
@@ -4,10 +4,12 @@
<head>
<title>4 Writing the Application</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/adding-commit-info/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -66,13 +68,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/history.html"><< <strong>3</strong><span>History</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/history.html"><< <strong>3</strong><span>History</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/runningTheApp.html"><strong>5</strong><span>Running the Application</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/runningTheApp.html"><strong>5</strong><span>Running the Application</span> >></a></div>
+
+ </nav>
@@ -278,8 +282,7 @@ The endpoints are disabled by default so the first step is to enabled them.</p>
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/adding-commit-info"><img src="https://travis-ci.org/grails-guides/adding-commit-info.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/adding-commit-info">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -292,17 +295,18 @@ The endpoints are disabled by default so the first step is to enabled them.</p>
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/adding-commit-info.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/adding-commit-info.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/adding-commit-info/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/adding-commit-info/archive/grails4.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/angular2-combined/4/css/guide.css b/guides/angular2-combined/4/css/guide.css
index 7471d71ca4e..e76a9d7eef5 100644
--- a/guides/angular2-combined/4/css/guide.css
+++ b/guides/angular2-combined/4/css/guide.css
@@ -68,6 +68,22 @@ textarea {
vertical-align: middle;
}
+button:focus-visible,
+a:focus-visible,
+input:focus-visible,
+select:focus-visible,
+textarea:focus-visible,
+#main pre:focus-visible,
+#navigation a:focus-visible {
+ outline: 3px solid #0969da;
+ outline-offset: 2px;
+}
+
+#navigation #nav-summary > a:focus-visible {
+ background: #1f2328;
+ color: #ffffff;
+}
+
.input-group {
display: table;
margin-top: 12px;
@@ -325,19 +341,169 @@ body.guide article.guide aside button.btn-large + ul.githublinks + .input-group
color: #ffffff;
}
+#footer {
+ box-sizing: border-box;
+}
+
.local-title {
font-size: 1.4em;
font-weight: bold;
}
+/* ---- Standalone chapter layout -------------------------------------------- */
+body.body {
+ text-align: left;
+}
+
+#colset {
+ table-layout: fixed;
+}
+
+#colset #col1 {
+ min-width: 0;
+}
+
+#main,
+#main .listingblock,
+#main .listingblock .content {
+ min-width: 0;
+ max-width: 100%;
+}
+
+#main h1,
+#main h2 {
+ color: #d97706;
+}
+
+@media screen {
+ #main pre {
+ box-sizing: border-box;
+ contain: paint;
+ max-width: 100%;
+ overflow-x: auto;
+ white-space: pre;
+ }
+
+ #main .tableblock,
+ #main .imageblock,
+ #main .videoblock,
+ #main .listingblock,
+ #main .literalblock {
+ overflow-x: auto;
+ }
+}
+
+@media print {
+ body.body .listingblock pre,
+ body.body .listingblock pre code,
+ body.body .literalblock pre,
+ body.body .literalblock pre code,
+ body.guide .listingblock pre,
+ body.guide .listingblock pre code,
+ body.guide .literalblock pre,
+ body.guide .literalblock pre code {
+ contain: none;
+ overflow-x: visible !important;
+ overflow-wrap: anywhere;
+ white-space: pre-wrap;
+ }
+}
+
+#main .tableblock,
+#main .imageblock,
+#main .videoblock,
+#main .listingblock,
+#main .literalblock {
+ max-width: 100%;
+}
+
+#main img,
+#main object,
+#main svg {
+ height: auto;
+ max-width: 100%;
+}
+
+.chapter-navigation {
+ display: flex;
+ justify-content: space-between;
+ gap: 16px;
+ margin-bottom: 16px;
+}
+
+.chapter-navigation .toc-item {
+ float: none;
+}
+
+.chapter-navigation .next-right {
+ margin-left: auto;
+ text-align: right;
+}
+
+#nav-summary-childs {
+ display: none;
+ box-sizing: border-box;
+ max-width: calc(100vw - 32px);
+}
+
+#nav-summary:hover #nav-summary-childs,
+#nav-summary:focus-within #nav-summary-childs {
+ display: block;
+}
+
+.downloadButton {
+ display: inline-block;
+ color: #24292f !important;
+ background: #ffffff;
+ border: 1px solid #d0d7de;
+ border-radius: 6px;
+ padding: 7px 12px;
+ text-decoration: none;
+}
+
+.downloadButton:hover {
+ background: #f6f8fa;
+}
+
/* ---- Responsive: hide aside on small screens ----------------------------- */
-@media only screen and (max-device-width: 480px) and (orientation: portrait) {
+@media only screen and (max-width: 768px) {
+ body.body {
+ text-align: left;
+ }
+
+ .chapter-navigation {
+ align-items: flex-start;
+ flex-direction: column;
+ gap: 8px;
+ }
+
+ .chapter-navigation .next-right {
+ margin-left: 0;
+ text-align: left;
+ }
+
+ .contribute-btn {
+ clear: both;
+ float: none;
+ margin: 8px 0 16px;
+ position: static;
+ top: auto;
+ }
+
+ #colset,
+ #colset tbody,
+ #colset tr,
+ #colset #col1 {
+ display: block;
+ width: 100%;
+ }
#colset #col1 {
margin: 0;
padding: 0;
}
#main {
- width: 98%;
+ box-sizing: border-box;
+ width: auto;
margin: 0;
border: 0;
}
@@ -345,3 +511,9 @@ body.guide article.guide aside button.btn-large + ul.githublinks + .input-group
display: none;
}
}
+
+@media only screen and (min-width: 481px) and (max-width: 900px) {
+ body.guide article.guide > header {
+ padding-right: 72px;
+ }
+}
diff --git a/guides/angular2-combined/4/guide/gettingStarted.html b/guides/angular2-combined/4/guide/gettingStarted.html
index 1415cb6e8a4..945066bf678 100644
--- a/guides/angular2-combined/4/guide/gettingStarted.html
+++ b/guides/angular2-combined/4/guide/gettingStarted.html
@@ -4,10 +4,12 @@
<head>
<title>2 Getting Started</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/angular2-combined/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -60,13 +62,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/training.html"><< <strong>1</strong><span>Grails Training</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/training.html"><< <strong>1</strong><span>Grails Training</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/writingTheApp.html"><strong>3</strong><span>Writing the Application</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/writingTheApp.html"><strong>3</strong><span>Writing the Application</span> >></a></div>
+
+ </nav>
@@ -206,8 +210,7 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/angular2-combined"><img src="https://travis-ci.org/grails-guides/angular2-combined.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/angular2-combined">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -220,13 +223,14 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/angular2-combined.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/angular2-combined.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
diff --git a/guides/angular2-combined/4/guide/helpWithGrails.html b/guides/angular2-combined/4/guide/helpWithGrails.html
index 770beabd598..85b5880e72b 100644
--- a/guides/angular2-combined/4/guide/helpWithGrails.html
+++ b/guides/angular2-combined/4/guide/helpWithGrails.html
@@ -4,10 +4,12 @@
<head>
<title>5 Do you need help with Grails?</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/angular2-combined/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -60,11 +62,13 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/runningTheApp.html"><< <strong>4</strong><span>Running the Application</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/runningTheApp.html"><< <strong>4</strong><span>Running the Application</span></a></div>
+
-
+
+ </nav>
@@ -118,8 +122,7 @@ function addJsClass() {
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/angular2-combined"><img src="https://travis-ci.org/grails-guides/angular2-combined.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/angular2-combined">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -132,13 +135,14 @@ function addJsClass() {
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/angular2-combined.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/angular2-combined.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
diff --git a/guides/angular2-combined/4/guide/index.html b/guides/angular2-combined/4/guide/index.html
index 3f3b36f3dc4..9e53e5195a5 100644
--- a/guides/angular2-combined/4/guide/index.html
+++ b/guides/angular2-combined/4/guide/index.html
@@ -117,8 +117,8 @@
<li><button type="button" class="btn btn-default codeButton" onclick="document.getElementById('github-url').value='https://github.com/grails-guides/angular2-combined.git'">HTTPS</button></li>
</ul>
<div class="input-group">
- <input id="github-url" value="git@github.com:grails-guides/angular2-combined.git" type="text"/>
- <button type="button" class="clippy btn btn-default" data-clipboard-target="#github-url">
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/angular2-combined.git" type="text"/>
+ <button type="button" class="clippy btn btn-default" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
</div>
diff --git a/guides/angular2-combined/4/guide/runningTheApp.html b/guides/angular2-combined/4/guide/runningTheApp.html
index 6b62f07bcc9..66d0bd82f1f 100644
--- a/guides/angular2-combined/4/guide/runningTheApp.html
+++ b/guides/angular2-combined/4/guide/runningTheApp.html
@@ -4,10 +4,12 @@
<head>
<title>4 Running the Application</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/angular2-combined/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -60,13 +62,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/writingTheApp.html"><< <strong>3</strong><span>Writing the Application</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/writingTheApp.html"><< <strong>3</strong><span>Writing the Application</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/helpWithGrails.html"><strong>5</strong><span>Do you need help with Grails?</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/helpWithGrails.html"><strong>5</strong><span>Do you need help with Grails?</span> >></a></div>
+
+ </nav>
@@ -101,8 +105,7 @@ function addJsClass() {
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/angular2-combined"><img src="https://travis-ci.org/grails-guides/angular2-combined.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/angular2-combined">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -115,13 +118,14 @@ function addJsClass() {
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/angular2-combined.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/angular2-combined.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
diff --git a/guides/angular2-combined/4/guide/training.html b/guides/angular2-combined/4/guide/training.html
index 0cce030f3bb..3ceb02613e3 100644
--- a/guides/angular2-combined/4/guide/training.html
+++ b/guides/angular2-combined/4/guide/training.html
@@ -4,10 +4,12 @@
<head>
<title>1 Grails Training</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/angular2-combined/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -60,11 +62,13 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
-
- <div class="toc-item next-right"><a href="../guide/gettingStarted.html"><strong>2</strong><span>Getting Started</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/gettingStarted.html"><strong>2</strong><span>Getting Started</span> >></a></div>
+
+ </nav>
@@ -99,8 +103,7 @@ function addJsClass() {
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/angular2-combined"><img src="https://travis-ci.org/grails-guides/angular2-combined.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/angular2-combined">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -113,13 +116,14 @@ function addJsClass() {
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/angular2-combined.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/angular2-combined.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
diff --git a/guides/angular2-combined/4/guide/writingTheApp.html b/guides/angular2-combined/4/guide/writingTheApp.html
index a4a0fa406ea..c35fd52d57e 100644
--- a/guides/angular2-combined/4/guide/writingTheApp.html
+++ b/guides/angular2-combined/4/guide/writingTheApp.html
@@ -4,10 +4,12 @@
<head>
<title>3 Writing the Application</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/angular2-combined/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -60,13 +62,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/gettingStarted.html"><< <strong>2</strong><span>Getting Started</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/gettingStarted.html"><< <strong>2</strong><span>Getting Started</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/runningTheApp.html"><strong>4</strong><span>Running the Application</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/runningTheApp.html"><strong>4</strong><span>Running the Application</span> >></a></div>
+
+ </nav>
@@ -310,8 +314,7 @@ clean {
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/angular2-combined"><img src="https://travis-ci.org/grails-guides/angular2-combined.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/angular2-combined">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -324,13 +327,14 @@ clean {
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/angular2-combined.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/angular2-combined.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
diff --git a/guides/building-a-react-app/4/css/guide.css b/guides/building-a-react-app/4/css/guide.css
index 7471d71ca4e..e76a9d7eef5 100644
--- a/guides/building-a-react-app/4/css/guide.css
+++ b/guides/building-a-react-app/4/css/guide.css
@@ -68,6 +68,22 @@ textarea {
vertical-align: middle;
}
+button:focus-visible,
+a:focus-visible,
+input:focus-visible,
+select:focus-visible,
+textarea:focus-visible,
+#main pre:focus-visible,
+#navigation a:focus-visible {
+ outline: 3px solid #0969da;
+ outline-offset: 2px;
+}
+
+#navigation #nav-summary > a:focus-visible {
+ background: #1f2328;
+ color: #ffffff;
+}
+
.input-group {
display: table;
margin-top: 12px;
@@ -325,19 +341,169 @@ body.guide article.guide aside button.btn-large + ul.githublinks + .input-group
color: #ffffff;
}
+#footer {
+ box-sizing: border-box;
+}
+
.local-title {
font-size: 1.4em;
font-weight: bold;
}
+/* ---- Standalone chapter layout -------------------------------------------- */
+body.body {
+ text-align: left;
+}
+
+#colset {
+ table-layout: fixed;
+}
+
+#colset #col1 {
+ min-width: 0;
+}
+
+#main,
+#main .listingblock,
+#main .listingblock .content {
+ min-width: 0;
+ max-width: 100%;
+}
+
+#main h1,
+#main h2 {
+ color: #d97706;
+}
+
+@media screen {
+ #main pre {
+ box-sizing: border-box;
+ contain: paint;
+ max-width: 100%;
+ overflow-x: auto;
+ white-space: pre;
+ }
+
+ #main .tableblock,
+ #main .imageblock,
+ #main .videoblock,
+ #main .listingblock,
+ #main .literalblock {
+ overflow-x: auto;
+ }
+}
+
+@media print {
+ body.body .listingblock pre,
+ body.body .listingblock pre code,
+ body.body .literalblock pre,
+ body.body .literalblock pre code,
+ body.guide .listingblock pre,
+ body.guide .listingblock pre code,
+ body.guide .literalblock pre,
+ body.guide .literalblock pre code {
+ contain: none;
+ overflow-x: visible !important;
+ overflow-wrap: anywhere;
+ white-space: pre-wrap;
+ }
+}
+
+#main .tableblock,
+#main .imageblock,
+#main .videoblock,
+#main .listingblock,
+#main .literalblock {
+ max-width: 100%;
+}
+
+#main img,
+#main object,
+#main svg {
+ height: auto;
+ max-width: 100%;
+}
+
+.chapter-navigation {
+ display: flex;
+ justify-content: space-between;
+ gap: 16px;
+ margin-bottom: 16px;
+}
+
+.chapter-navigation .toc-item {
+ float: none;
+}
+
+.chapter-navigation .next-right {
+ margin-left: auto;
+ text-align: right;
+}
+
+#nav-summary-childs {
+ display: none;
+ box-sizing: border-box;
+ max-width: calc(100vw - 32px);
+}
+
+#nav-summary:hover #nav-summary-childs,
+#nav-summary:focus-within #nav-summary-childs {
+ display: block;
+}
+
+.downloadButton {
+ display: inline-block;
+ color: #24292f !important;
+ background: #ffffff;
+ border: 1px solid #d0d7de;
+ border-radius: 6px;
+ padding: 7px 12px;
+ text-decoration: none;
+}
+
+.downloadButton:hover {
+ background: #f6f8fa;
+}
+
/* ---- Responsive: hide aside on small screens ----------------------------- */
-@media only screen and (max-device-width: 480px) and (orientation: portrait) {
+@media only screen and (max-width: 768px) {
+ body.body {
+ text-align: left;
+ }
+
+ .chapter-navigation {
+ align-items: flex-start;
+ flex-direction: column;
+ gap: 8px;
+ }
+
+ .chapter-navigation .next-right {
+ margin-left: 0;
+ text-align: left;
+ }
+
+ .contribute-btn {
+ clear: both;
+ float: none;
+ margin: 8px 0 16px;
+ position: static;
+ top: auto;
+ }
+
+ #colset,
+ #colset tbody,
+ #colset tr,
+ #colset #col1 {
+ display: block;
+ width: 100%;
+ }
#colset #col1 {
margin: 0;
padding: 0;
}
#main {
- width: 98%;
+ box-sizing: border-box;
+ width: auto;
margin: 0;
border: 0;
}
@@ -345,3 +511,9 @@ body.guide article.guide aside button.btn-large + ul.githublinks + .input-group
display: none;
}
}
+
+@media only screen and (min-width: 481px) and (max-width: 900px) {
+ body.guide article.guide > header {
+ padding-right: 72px;
+ }
+}
diff --git a/guides/building-a-react-app/4/guide/gettingStarted.html b/guides/building-a-react-app/4/guide/gettingStarted.html
index 1adbeb7fa18..aa45c5d8582 100644
--- a/guides/building-a-react-app/4/guide/gettingStarted.html
+++ b/guides/building-a-react-app/4/guide/gettingStarted.html
@@ -4,10 +4,12 @@
<head>
<title>2 Getting Started</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-a-react-app/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -66,13 +68,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/training.html"><< <strong>1</strong><span>Grails Training</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/training.html"><< <strong>1</strong><span>Grails Training</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/writingTheApp.html"><strong>3</strong><span>Writing the Application</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/writingTheApp.html"><strong>3</strong><span>Writing the Application</span> >></a></div>
+
+ </nav>
@@ -215,8 +219,7 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-a-react-app"><img src="https://travis-ci.org/grails-guides/building-a-react-app.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-a-react-app">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -229,13 +232,14 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-a-react-app.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-a-react-app.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
diff --git a/guides/building-a-react-app/4/guide/helpWithGrails.html b/guides/building-a-react-app/4/guide/helpWithGrails.html
index cbb52c07229..2c3fca2c66e 100644
--- a/guides/building-a-react-app/4/guide/helpWithGrails.html
+++ b/guides/building-a-react-app/4/guide/helpWithGrails.html
@@ -4,10 +4,12 @@
<head>
<title>7 Do you need help with Grails?</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-a-react-app/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -66,11 +68,13 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/nextSteps.html"><< <strong>6</strong><span>Next Steps</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/nextSteps.html"><< <strong>6</strong><span>Next Steps</span></a></div>
+
-
+
+ </nav>
@@ -124,8 +128,7 @@ function addJsClass() {
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-a-react-app"><img src="https://travis-ci.org/grails-guides/building-a-react-app.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-a-react-app">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -138,13 +141,14 @@ function addJsClass() {
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-a-react-app.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-a-react-app.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
diff --git a/guides/building-a-react-app/4/guide/index.html b/guides/building-a-react-app/4/guide/index.html
index efbc500ffcc..a4bccf063b4 100644
--- a/guides/building-a-react-app/4/guide/index.html
+++ b/guides/building-a-react-app/4/guide/index.html
@@ -117,8 +117,8 @@
<li><button type="button" class="btn btn-default codeButton" onclick="document.getElementById('github-url').value='https://github.com/grails-guides/building-a-react-app.git'">HTTPS</button></li>
</ul>
<div class="input-group">
- <input id="github-url" value="git@github.com:grails-guides/building-a-react-app.git" type="text"/>
- <button type="button" class="clippy btn btn-default" data-clipboard-target="#github-url">
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-a-react-app.git" type="text"/>
+ <button type="button" class="clippy btn btn-default" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
</div>
diff --git a/guides/building-a-react-app/4/guide/nextSteps.html b/guides/building-a-react-app/4/guide/nextSteps.html
index 3aa8b21327e..a3bb419519e 100644
--- a/guides/building-a-react-app/4/guide/nextSteps.html
+++ b/guides/building-a-react-app/4/guide/nextSteps.html
@@ -4,10 +4,12 @@
<head>
<title>6 Next Steps</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-a-react-app/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -66,13 +68,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/writingReactComponents.html"><< <strong>5</strong><span>Writing our React components</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/writingReactComponents.html"><< <strong>5</strong><span>Writing our React components</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/helpWithGrails.html"><strong>7</strong><span>Do you need help with Grails?</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/helpWithGrails.html"><strong>7</strong><span>Do you need help with Grails?</span> >></a></div>
+
+ </nav>
@@ -117,8 +121,7 @@ function addJsClass() {
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-a-react-app"><img src="https://travis-ci.org/grails-guides/building-a-react-app.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-a-react-app">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -131,13 +134,14 @@ function addJsClass() {
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-a-react-app.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-a-react-app.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
diff --git a/guides/building-a-react-app/4/guide/runningTheApp.html b/guides/building-a-react-app/4/guide/runningTheApp.html
index 10abd337e1d..c02a591cc6d 100644
--- a/guides/building-a-react-app/4/guide/runningTheApp.html
+++ b/guides/building-a-react-app/4/guide/runningTheApp.html
@@ -4,10 +4,12 @@
<head>
<title>4 Running the Application</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-a-react-app/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -66,13 +68,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/writingTheApp.html"><< <strong>3</strong><span>Writing the Application</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/writingTheApp.html"><< <strong>3</strong><span>Writing the Application</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/writingReactComponents.html"><strong>5</strong><span>Writing our React components</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/writingReactComponents.html"><strong>5</strong><span>Writing our React components</span> >></a></div>
+
+ </nav>
@@ -280,8 +284,7 @@ Connection: close
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-a-react-app"><img src="https://travis-ci.org/grails-guides/building-a-react-app.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-a-react-app">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -294,13 +297,14 @@ Connection: close
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-a-react-app.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-a-react-app.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
diff --git a/guides/building-a-react-app/4/guide/training.html b/guides/building-a-react-app/4/guide/training.html
index 8933541fcf6..e2359f60104 100644
--- a/guides/building-a-react-app/4/guide/training.html
+++ b/guides/building-a-react-app/4/guide/training.html
@@ -4,10 +4,12 @@
<head>
<title>1 Grails Training</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-a-react-app/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -66,11 +68,13 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
-
- <div class="toc-item next-right"><a href="../guide/gettingStarted.html"><strong>2</strong><span>Getting Started</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/gettingStarted.html"><strong>2</strong><span>Getting Started</span> >></a></div>
+
+ </nav>
@@ -105,8 +109,7 @@ function addJsClass() {
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-a-react-app"><img src="https://travis-ci.org/grails-guides/building-a-react-app.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-a-react-app">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -119,13 +122,14 @@ function addJsClass() {
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-a-react-app.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-a-react-app.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
diff --git a/guides/building-a-react-app/4/guide/writingReactComponents.html b/guides/building-a-react-app/4/guide/writingReactComponents.html
index eeafa112fe8..d8bfa8647ff 100644
--- a/guides/building-a-react-app/4/guide/writingReactComponents.html
+++ b/guides/building-a-react-app/4/guide/writingReactComponents.html
@@ -4,10 +4,12 @@
<head>
<title>5 Writing our React components</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-a-react-app/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -66,13 +68,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/runningTheApp.html"><< <strong>4</strong><span>Running the Application</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/runningTheApp.html"><< <strong>4</strong><span>Running the Application</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/nextSteps.html"><strong>6</strong><span>Next Steps</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/nextSteps.html"><strong>6</strong><span>Next Steps</span> >></a></div>
+
+ </nav>
@@ -792,8 +796,7 @@ ReactDOM.render(<Garage />, document.getElementById(<span class="string"><
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-a-react-app"><img src="https://travis-ci.org/grails-guides/building-a-react-app.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-a-react-app">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -806,13 +809,14 @@ ReactDOM.render(<Garage />, document.getElementById(<span class="string"><
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-a-react-app.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-a-react-app.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
diff --git a/guides/building-a-react-app/4/guide/writingTheApp.html b/guides/building-a-react-app/4/guide/writingTheApp.html
index a636b32b8ff..5a4094d94da 100644
--- a/guides/building-a-react-app/4/guide/writingTheApp.html
+++ b/guides/building-a-react-app/4/guide/writingTheApp.html
@@ -4,10 +4,12 @@
<head>
<title>3 Writing the Application</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-a-react-app/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -66,13 +68,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/gettingStarted.html"><< <strong>2</strong><span>Getting Started</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/gettingStarted.html"><< <strong>2</strong><span>Getting Started</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/runningTheApp.html"><strong>4</strong><span>Running the Application</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/runningTheApp.html"><strong>4</strong><span>Running the Application</span> >></a></div>
+
+ </nav>
@@ -231,8 +235,7 @@ $ grails create-domain-class demo.Model</code></pre>
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-a-react-app"><img src="https://travis-ci.org/grails-guides/building-a-react-app.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-a-react-app">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -245,13 +248,14 @@ $ grails create-domain-class demo.Model</code></pre>
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-a-react-app.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-a-react-app.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
diff --git a/guides/building-a-vue-app/4/css/guide.css b/guides/building-a-vue-app/4/css/guide.css
index 7471d71ca4e..e76a9d7eef5 100644
--- a/guides/building-a-vue-app/4/css/guide.css
+++ b/guides/building-a-vue-app/4/css/guide.css
@@ -68,6 +68,22 @@ textarea {
vertical-align: middle;
}
+button:focus-visible,
+a:focus-visible,
+input:focus-visible,
+select:focus-visible,
+textarea:focus-visible,
+#main pre:focus-visible,
+#navigation a:focus-visible {
+ outline: 3px solid #0969da;
+ outline-offset: 2px;
+}
+
+#navigation #nav-summary > a:focus-visible {
+ background: #1f2328;
+ color: #ffffff;
+}
+
.input-group {
display: table;
margin-top: 12px;
@@ -325,19 +341,169 @@ body.guide article.guide aside button.btn-large + ul.githublinks + .input-group
color: #ffffff;
}
+#footer {
+ box-sizing: border-box;
+}
+
.local-title {
font-size: 1.4em;
font-weight: bold;
}
+/* ---- Standalone chapter layout -------------------------------------------- */
+body.body {
+ text-align: left;
+}
+
+#colset {
+ table-layout: fixed;
+}
+
+#colset #col1 {
+ min-width: 0;
+}
+
+#main,
+#main .listingblock,
+#main .listingblock .content {
+ min-width: 0;
+ max-width: 100%;
+}
+
+#main h1,
+#main h2 {
+ color: #d97706;
+}
+
+@media screen {
+ #main pre {
+ box-sizing: border-box;
+ contain: paint;
+ max-width: 100%;
+ overflow-x: auto;
+ white-space: pre;
+ }
+
+ #main .tableblock,
+ #main .imageblock,
+ #main .videoblock,
+ #main .listingblock,
+ #main .literalblock {
+ overflow-x: auto;
+ }
+}
+
+@media print {
+ body.body .listingblock pre,
+ body.body .listingblock pre code,
+ body.body .literalblock pre,
+ body.body .literalblock pre code,
+ body.guide .listingblock pre,
+ body.guide .listingblock pre code,
+ body.guide .literalblock pre,
+ body.guide .literalblock pre code {
+ contain: none;
+ overflow-x: visible !important;
+ overflow-wrap: anywhere;
+ white-space: pre-wrap;
+ }
+}
+
+#main .tableblock,
+#main .imageblock,
+#main .videoblock,
+#main .listingblock,
+#main .literalblock {
+ max-width: 100%;
+}
+
+#main img,
+#main object,
+#main svg {
+ height: auto;
+ max-width: 100%;
+}
+
+.chapter-navigation {
+ display: flex;
+ justify-content: space-between;
+ gap: 16px;
+ margin-bottom: 16px;
+}
+
+.chapter-navigation .toc-item {
+ float: none;
+}
+
+.chapter-navigation .next-right {
+ margin-left: auto;
+ text-align: right;
+}
+
+#nav-summary-childs {
+ display: none;
+ box-sizing: border-box;
+ max-width: calc(100vw - 32px);
+}
+
+#nav-summary:hover #nav-summary-childs,
+#nav-summary:focus-within #nav-summary-childs {
+ display: block;
+}
+
+.downloadButton {
+ display: inline-block;
+ color: #24292f !important;
+ background: #ffffff;
+ border: 1px solid #d0d7de;
+ border-radius: 6px;
+ padding: 7px 12px;
+ text-decoration: none;
+}
+
+.downloadButton:hover {
+ background: #f6f8fa;
+}
+
/* ---- Responsive: hide aside on small screens ----------------------------- */
-@media only screen and (max-device-width: 480px) and (orientation: portrait) {
+@media only screen and (max-width: 768px) {
+ body.body {
+ text-align: left;
+ }
+
+ .chapter-navigation {
+ align-items: flex-start;
+ flex-direction: column;
+ gap: 8px;
+ }
+
+ .chapter-navigation .next-right {
+ margin-left: 0;
+ text-align: left;
+ }
+
+ .contribute-btn {
+ clear: both;
+ float: none;
+ margin: 8px 0 16px;
+ position: static;
+ top: auto;
+ }
+
+ #colset,
+ #colset tbody,
+ #colset tr,
+ #colset #col1 {
+ display: block;
+ width: 100%;
+ }
#colset #col1 {
margin: 0;
padding: 0;
}
#main {
- width: 98%;
+ box-sizing: border-box;
+ width: auto;
margin: 0;
border: 0;
}
@@ -345,3 +511,9 @@ body.guide article.guide aside button.btn-large + ul.githublinks + .input-group
display: none;
}
}
+
+@media only screen and (min-width: 481px) and (max-width: 900px) {
+ body.guide article.guide > header {
+ padding-right: 72px;
+ }
+}
diff --git a/guides/building-a-vue-app/4/guide/gettingStarted.html b/guides/building-a-vue-app/4/guide/gettingStarted.html
index b826d7acc45..f416d9cc381 100644
--- a/guides/building-a-vue-app/4/guide/gettingStarted.html
+++ b/guides/building-a-vue-app/4/guide/gettingStarted.html
@@ -4,10 +4,12 @@
<head>
<title>2 Getting Started</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-a-vue-app/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Training</span></a>
</div>
@@ -66,13 +68,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/training.html"><< <strong>1</strong><span>Training</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/training.html"><< <strong>1</strong><span>Training</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/runningTheApp.html"><strong>3</strong><span>Running the Application</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/runningTheApp.html"><strong>3</strong><span>Running the Application</span> >></a></div>
+
+ </nav>
@@ -215,8 +219,7 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-a-vue-app"><img src="https://travis-ci.org/grails-guides/building-a-vue-app.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-a-vue-app">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -229,13 +232,14 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-a-vue-app.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-a-vue-app.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
diff --git a/guides/building-a-vue-app/4/guide/helpWithGrails.html b/guides/building-a-vue-app/4/guide/helpWithGrails.html
index 79baa9504b2..7273812b2be 100644
--- a/guides/building-a-vue-app/4/guide/helpWithGrails.html
+++ b/guides/building-a-vue-app/4/guide/helpWithGrails.html
@@ -4,10 +4,12 @@
<head>
<title>7 Do you need help with Grails?</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-a-vue-app/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Training</span></a>
</div>
@@ -66,11 +68,13 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/nextSteps.html"><< <strong>6</strong><span>Next Steps</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/nextSteps.html"><< <strong>6</strong><span>Next Steps</span></a></div>
+
-
+
+ </nav>
@@ -124,8 +128,7 @@ function addJsClass() {
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-a-vue-app"><img src="https://travis-ci.org/grails-guides/building-a-vue-app.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-a-vue-app">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -138,13 +141,14 @@ function addJsClass() {
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-a-vue-app.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-a-vue-app.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
diff --git a/guides/building-a-vue-app/4/guide/index.html b/guides/building-a-vue-app/4/guide/index.html
index ae943c46fdc..6ccb3e10822 100644
--- a/guides/building-a-vue-app/4/guide/index.html
+++ b/guides/building-a-vue-app/4/guide/index.html
@@ -117,8 +117,8 @@
<li><button type="button" class="btn btn-default codeButton" onclick="document.getElementById('github-url').value='https://github.com/grails-guides/building-a-vue-app.git'">HTTPS</button></li>
</ul>
<div class="input-group">
- <input id="github-url" value="git@github.com:grails-guides/building-a-vue-app.git" type="text"/>
- <button type="button" class="clippy btn btn-default" data-clipboard-target="#github-url">
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-a-vue-app.git" type="text"/>
+ <button type="button" class="clippy btn btn-default" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
</div>
diff --git a/guides/building-a-vue-app/4/guide/nextSteps.html b/guides/building-a-vue-app/4/guide/nextSteps.html
index 2562ca01575..6d0e68088d4 100644
--- a/guides/building-a-vue-app/4/guide/nextSteps.html
+++ b/guides/building-a-vue-app/4/guide/nextSteps.html
@@ -4,10 +4,12 @@
<head>
<title>6 Next Steps</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-a-vue-app/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Training</span></a>
</div>
@@ -66,13 +68,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/writingTheClient.html"><< <strong>5</strong><span>Building the Client</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/writingTheClient.html"><< <strong>5</strong><span>Building the Client</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/helpWithGrails.html"><strong>7</strong><span>Do you need help with Grails?</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/helpWithGrails.html"><strong>7</strong><span>Do you need help with Grails?</span> >></a></div>
+
+ </nav>
@@ -117,8 +121,7 @@ function addJsClass() {
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-a-vue-app"><img src="https://travis-ci.org/grails-guides/building-a-vue-app.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-a-vue-app">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -131,13 +134,14 @@ function addJsClass() {
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-a-vue-app.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-a-vue-app.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
diff --git a/guides/building-a-vue-app/4/guide/runningTheApp.html b/guides/building-a-vue-app/4/guide/runningTheApp.html
index 76d5a093241..b6aec5e16b2 100644
--- a/guides/building-a-vue-app/4/guide/runningTheApp.html
+++ b/guides/building-a-vue-app/4/guide/runningTheApp.html
@@ -4,10 +4,12 @@
<head>
<title>3 Running the Application</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-a-vue-app/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Training</span></a>
</div>
@@ -66,13 +68,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/gettingStarted.html"><< <strong>2</strong><span>Getting Started</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/gettingStarted.html"><< <strong>2</strong><span>Getting Started</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/writingTheServer.html"><strong>4</strong><span>Building the Server</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/writingTheServer.html"><strong>4</strong><span>Building the Server</span> >></a></div>
+
+ </nav>
@@ -134,8 +138,7 @@ function addJsClass() {
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-a-vue-app"><img src="https://travis-ci.org/grails-guides/building-a-vue-app.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-a-vue-app">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -148,13 +151,14 @@ function addJsClass() {
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-a-vue-app.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-a-vue-app.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
diff --git a/guides/building-a-vue-app/4/guide/training.html b/guides/building-a-vue-app/4/guide/training.html
index 7eb81efc663..acafce57cb0 100644
--- a/guides/building-a-vue-app/4/guide/training.html
+++ b/guides/building-a-vue-app/4/guide/training.html
@@ -4,10 +4,12 @@
<head>
<title>1 Training</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-a-vue-app/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Training</span></a>
</div>
@@ -66,11 +68,13 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
-
- <div class="toc-item next-right"><a href="../guide/gettingStarted.html"><strong>2</strong><span>Getting Started</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/gettingStarted.html"><strong>2</strong><span>Getting Started</span> >></a></div>
+
+ </nav>
@@ -105,8 +109,7 @@ function addJsClass() {
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-a-vue-app"><img src="https://travis-ci.org/grails-guides/building-a-vue-app.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-a-vue-app">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -119,13 +122,14 @@ function addJsClass() {
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-a-vue-app.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-a-vue-app.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
diff --git a/guides/building-a-vue-app/4/guide/writingTheClient.html b/guides/building-a-vue-app/4/guide/writingTheClient.html
index e67e8b79569..372b0982e3a 100644
--- a/guides/building-a-vue-app/4/guide/writingTheClient.html
+++ b/guides/building-a-vue-app/4/guide/writingTheClient.html
@@ -4,10 +4,12 @@
<head>
<title>5 Building the Client</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-a-vue-app/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Training</span></a>
</div>
@@ -66,13 +68,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/writingTheServer.html"><< <strong>4</strong><span>Building the Server</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/writingTheServer.html"><< <strong>4</strong><span>Building the Server</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/nextSteps.html"><strong>6</strong><span>Next Steps</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/nextSteps.html"><strong>6</strong><span>Next Steps</span> >></a></div>
+
+ </nav>
@@ -1061,8 +1065,7 @@ Vue.use(Router)
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-a-vue-app"><img src="https://travis-ci.org/grails-guides/building-a-vue-app.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-a-vue-app">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -1075,13 +1078,14 @@ Vue.use(Router)
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-a-vue-app.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-a-vue-app.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
diff --git a/guides/building-a-vue-app/4/guide/writingTheServer.html b/guides/building-a-vue-app/4/guide/writingTheServer.html
index c68ffc849f7..71ab7348610 100644
--- a/guides/building-a-vue-app/4/guide/writingTheServer.html
+++ b/guides/building-a-vue-app/4/guide/writingTheServer.html
@@ -4,10 +4,12 @@
<head>
<title>4 Building the Server</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-a-vue-app/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Training</span></a>
</div>
@@ -66,13 +68,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/runningTheApp.html"><< <strong>3</strong><span>Running the Application</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/runningTheApp.html"><< <strong>3</strong><span>Running the Application</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/writingTheClient.html"><strong>5</strong><span>Building the Client</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/writingTheClient.html"><strong>5</strong><span>Building the Client</span> >></a></div>
+
+ </nav>
@@ -475,8 +479,7 @@ Connection: close
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-a-vue-app"><img src="https://travis-ci.org/grails-guides/building-a-vue-app.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-a-vue-app">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -489,13 +492,14 @@ Connection: close
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-a-vue-app.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-a-vue-app.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
diff --git a/guides/building-an-android-client-powered-by-a-grails-backend/4/css/guide.css b/guides/building-an-android-client-powered-by-a-grails-backend/4/css/guide.css
index 7471d71ca4e..e76a9d7eef5 100644
--- a/guides/building-an-android-client-powered-by-a-grails-backend/4/css/guide.css
+++ b/guides/building-an-android-client-powered-by-a-grails-backend/4/css/guide.css
@@ -68,6 +68,22 @@ textarea {
vertical-align: middle;
}
+button:focus-visible,
+a:focus-visible,
+input:focus-visible,
+select:focus-visible,
+textarea:focus-visible,
+#main pre:focus-visible,
+#navigation a:focus-visible {
+ outline: 3px solid #0969da;
+ outline-offset: 2px;
+}
+
+#navigation #nav-summary > a:focus-visible {
+ background: #1f2328;
+ color: #ffffff;
+}
+
.input-group {
display: table;
margin-top: 12px;
@@ -325,19 +341,169 @@ body.guide article.guide aside button.btn-large + ul.githublinks + .input-group
color: #ffffff;
}
+#footer {
+ box-sizing: border-box;
+}
+
.local-title {
font-size: 1.4em;
font-weight: bold;
}
+/* ---- Standalone chapter layout -------------------------------------------- */
+body.body {
+ text-align: left;
+}
+
+#colset {
+ table-layout: fixed;
+}
+
+#colset #col1 {
+ min-width: 0;
+}
+
+#main,
+#main .listingblock,
+#main .listingblock .content {
+ min-width: 0;
+ max-width: 100%;
+}
+
+#main h1,
+#main h2 {
+ color: #d97706;
+}
+
+@media screen {
+ #main pre {
+ box-sizing: border-box;
+ contain: paint;
+ max-width: 100%;
+ overflow-x: auto;
+ white-space: pre;
+ }
+
+ #main .tableblock,
+ #main .imageblock,
+ #main .videoblock,
+ #main .listingblock,
+ #main .literalblock {
+ overflow-x: auto;
+ }
+}
+
+@media print {
+ body.body .listingblock pre,
+ body.body .listingblock pre code,
+ body.body .literalblock pre,
+ body.body .literalblock pre code,
+ body.guide .listingblock pre,
+ body.guide .listingblock pre code,
+ body.guide .literalblock pre,
+ body.guide .literalblock pre code {
+ contain: none;
+ overflow-x: visible !important;
+ overflow-wrap: anywhere;
+ white-space: pre-wrap;
+ }
+}
+
+#main .tableblock,
+#main .imageblock,
+#main .videoblock,
+#main .listingblock,
+#main .literalblock {
+ max-width: 100%;
+}
+
+#main img,
+#main object,
+#main svg {
+ height: auto;
+ max-width: 100%;
+}
+
+.chapter-navigation {
+ display: flex;
+ justify-content: space-between;
+ gap: 16px;
+ margin-bottom: 16px;
+}
+
+.chapter-navigation .toc-item {
+ float: none;
+}
+
+.chapter-navigation .next-right {
+ margin-left: auto;
+ text-align: right;
+}
+
+#nav-summary-childs {
+ display: none;
+ box-sizing: border-box;
+ max-width: calc(100vw - 32px);
+}
+
+#nav-summary:hover #nav-summary-childs,
+#nav-summary:focus-within #nav-summary-childs {
+ display: block;
+}
+
+.downloadButton {
+ display: inline-block;
+ color: #24292f !important;
+ background: #ffffff;
+ border: 1px solid #d0d7de;
+ border-radius: 6px;
+ padding: 7px 12px;
+ text-decoration: none;
+}
+
+.downloadButton:hover {
+ background: #f6f8fa;
+}
+
/* ---- Responsive: hide aside on small screens ----------------------------- */
-@media only screen and (max-device-width: 480px) and (orientation: portrait) {
+@media only screen and (max-width: 768px) {
+ body.body {
+ text-align: left;
+ }
+
+ .chapter-navigation {
+ align-items: flex-start;
+ flex-direction: column;
+ gap: 8px;
+ }
+
+ .chapter-navigation .next-right {
+ margin-left: 0;
+ text-align: left;
+ }
+
+ .contribute-btn {
+ clear: both;
+ float: none;
+ margin: 8px 0 16px;
+ position: static;
+ top: auto;
+ }
+
+ #colset,
+ #colset tbody,
+ #colset tr,
+ #colset #col1 {
+ display: block;
+ width: 100%;
+ }
#colset #col1 {
margin: 0;
padding: 0;
}
#main {
- width: 98%;
+ box-sizing: border-box;
+ width: auto;
margin: 0;
border: 0;
}
@@ -345,3 +511,9 @@ body.guide article.guide aside button.btn-large + ul.githublinks + .input-group
display: none;
}
}
+
+@media only screen and (min-width: 481px) and (max-width: 900px) {
+ body.guide article.guide > header {
+ padding-right: 72px;
+ }
+}
diff --git a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/conclusion.html b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/conclusion.html
index d5e7b65a1dd..3456ab1d4e0 100644
--- a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/conclusion.html
+++ b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/conclusion.html
@@ -4,10 +4,12 @@
<head>
<title>7 Conclusion</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -69,13 +71,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/version2.html"><< <strong>6</strong><span>API version 2.0</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/version2.html"><< <strong>6</strong><span>API version 2.0</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/helpWithGrails.html"><strong>8</strong><span>Do you need help with Grails?</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/helpWithGrails.html"><strong>8</strong><span>Do you need help with Grails?</span> >></a></div>
+
+ </nav>
@@ -107,8 +111,7 @@ function addJsClass() {
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-an-android-client-powered-by-a-grails-backend"><img src="https://travis-ci.org/grails-guides/building-an-android-client-powered-by-a-grails-backend.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-an-android-client-powered-by-a-grails-backend">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -121,13 +124,14 @@ function addJsClass() {
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-an-android-client-powered-by-a-grails-backend.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-an-android-client-powered-by-a-grails-backend.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
diff --git a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/gettingStarted.html b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/gettingStarted.html
index cd0737d2ea9..55e40fc9c9b 100644
--- a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/gettingStarted.html
+++ b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/gettingStarted.html
@@ -4,10 +4,12 @@
<head>
<title>2 Getting Started</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -69,13 +71,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/training.html"><< <strong>1</strong><span>Grails Training</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/training.html"><< <strong>1</strong><span>Grails Training</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/overview.html"><strong>3</strong><span>Overview</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/overview.html"><strong>3</strong><span>Overview</span> >></a></div>
+
+ </nav>
@@ -275,8 +279,7 @@ You can go right to the completed version 2 of the Android example if you <code>
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-an-android-client-powered-by-a-grails-backend"><img src="https://travis-ci.org/grails-guides/building-an-android-client-powered-by-a-grails-backend.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-an-android-client-powered-by-a-grails-backend">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -289,13 +292,14 @@ You can go right to the completed version 2 of the Android example if you <code>
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-an-android-client-powered-by-a-grails-backend.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-an-android-client-powered-by-a-grails-backend.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
diff --git a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/helpWithGrails.html b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/helpWithGrails.html
index 356746e92fd..053dfbfcd6d 100644
--- a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/helpWithGrails.html
+++ b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/helpWithGrails.html
@@ -4,10 +4,12 @@
<head>
<title>8 Do you need help with Grails?</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -69,11 +71,13 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/conclusion.html"><< <strong>7</strong><span>Conclusion</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/conclusion.html"><< <strong>7</strong><span>Conclusion</span></a></div>
+
-
+
+ </nav>
@@ -127,8 +131,7 @@ function addJsClass() {
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-an-android-client-powered-by-a-grails-backend"><img src="https://travis-ci.org/grails-guides/building-an-android-client-powered-by-a-grails-backend.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-an-android-client-powered-by-a-grails-backend">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -141,13 +144,14 @@ function addJsClass() {
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-an-android-client-powered-by-a-grails-backend.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-an-android-client-powered-by-a-grails-backend.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
diff --git a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/index.html b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/index.html
index d8fb55e0400..b6ee121c5fd 100644
--- a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/index.html
+++ b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/index.html
@@ -117,8 +117,8 @@
<li><button type="button" class="btn btn-default codeButton" onclick="document.getElementById('github-url').value='https://github.com/grails-guides/building-an-android-client-powered-by-a-grails-backend.git'">HTTPS</button></li>
</ul>
<div class="input-group">
- <input id="github-url" value="git@github.com:grails-guides/building-an-android-client-powered-by-a-grails-backend.git" type="text"/>
- <button type="button" class="clippy btn btn-default" data-clipboard-target="#github-url">
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-an-android-client-powered-by-a-grails-backend.git" type="text"/>
+ <button type="button" class="clippy btn btn-default" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
</div>
diff --git a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/overview.html b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/overview.html
index b0b614f893b..9a55fbe41db 100644
--- a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/overview.html
+++ b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/overview.html
@@ -4,10 +4,12 @@
<head>
<title>3 Overview</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -69,13 +71,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/gettingStarted.html"><< <strong>2</strong><span>Getting Started</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/gettingStarted.html"><< <strong>2</strong><span>Getting Started</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/writingTheGrailsApp.html"><strong>4</strong><span>Writing the Grails Application</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/writingTheGrailsApp.html"><strong>4</strong><span>Writing the Grails Application</span> >></a></div>
+
+ </nav>
@@ -129,8 +133,7 @@ detail screen the announcement identifier, title and HTML body. The latter will
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-an-android-client-powered-by-a-grails-backend"><img src="https://travis-ci.org/grails-guides/building-an-android-client-powered-by-a-grails-backend.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-an-android-client-powered-by-a-grails-backend">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -143,13 +146,14 @@ detail screen the announcement identifier, title and HTML body. The latter will
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-an-android-client-powered-by-a-grails-backend.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-an-android-client-powered-by-a-grails-backend.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
diff --git a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/training.html b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/training.html
index 9bef6d60c99..e09710169a0 100644
--- a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/training.html
+++ b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/training.html
@@ -4,10 +4,12 @@
<head>
<title>1 Grails Training</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -69,11 +71,13 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
-
- <div class="toc-item next-right"><a href="../guide/gettingStarted.html"><strong>2</strong><span>Getting Started</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/gettingStarted.html"><strong>2</strong><span>Getting Started</span> >></a></div>
+
+ </nav>
@@ -108,8 +112,7 @@ function addJsClass() {
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-an-android-client-powered-by-a-grails-backend"><img src="https://travis-ci.org/grails-guides/building-an-android-client-powered-by-a-grails-backend.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-an-android-client-powered-by-a-grails-backend">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -122,13 +125,14 @@ function addJsClass() {
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-an-android-client-powered-by-a-grails-backend.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-an-android-client-powered-by-a-grails-backend.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
diff --git a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/version2.html b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/version2.html
index 5ad54e7d72d..0aa277423e4 100644
--- a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/version2.html
+++ b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/version2.html
@@ -4,10 +4,12 @@
<head>
<title>6 API version 2.0</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -69,13 +71,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/writingTheAndroidApp.html"><< <strong>5</strong><span>Writing the Android Application</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/writingTheAndroidApp.html"><< <strong>5</strong><span>Writing the Android Application</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/conclusion.html"><strong>7</strong><span>Conclusion</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/conclusion.html"><strong>7</strong><span>Conclusion</span> >></a></div>
+
+ </nav>
@@ -464,8 +468,7 @@ endpoint. The next functional test verifies that behaviour.</p>
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-an-android-client-powered-by-a-grails-backend"><img src="https://travis-ci.org/grails-guides/building-an-android-client-powered-by-a-grails-backend.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-an-android-client-powered-by-a-grails-backend">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -478,13 +481,14 @@ endpoint. The next functional test verifies that behaviour.</p>
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-an-android-client-powered-by-a-grails-backend.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-an-android-client-powered-by-a-grails-backend.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
diff --git a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/writingTheAndroidApp.html b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/writingTheAndroidApp.html
index 4b42b07c7a3..d0a1a28399f 100644
--- a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/writingTheAndroidApp.html
+++ b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/writingTheAndroidApp.html
@@ -4,10 +4,12 @@
<head>
<title>5 Writing the Android Application</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -69,13 +71,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/writingTheGrailsApp.html"><< <strong>4</strong><span>Writing the Grails Application</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/writingTheGrailsApp.html"><< <strong>4</strong><span>Writing the Grails Application</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/version2.html"><strong>6</strong><span>API version 2.0</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/version2.html"><strong>6</strong><span>API version 2.0</span> >></a></div>
+
+ </nav>
@@ -706,8 +710,7 @@ always set with the value defined in the <em>Constants.java</em> class</p>
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-an-android-client-powered-by-a-grails-backend"><img src="https://travis-ci.org/grails-guides/building-an-android-client-powered-by-a-grails-backend.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-an-android-client-powered-by-a-grails-backend">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -720,13 +723,14 @@ always set with the value defined in the <em>Constants.java</em> class</p>
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-an-android-client-powered-by-a-grails-backend.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-an-android-client-powered-by-a-grails-backend.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
diff --git a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/writingTheGrailsApp.html b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/writingTheGrailsApp.html
index 7b88fb627ba..0d66419c109 100644
--- a/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/writingTheGrailsApp.html
+++ b/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/writingTheGrailsApp.html
@@ -4,10 +4,12 @@
<head>
<title>4 Writing the Grails Application</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-an-android-client-powered-by-a-grails-backend/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -69,13 +71,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/overview.html"><< <strong>3</strong><span>Overview</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/overview.html"><< <strong>3</strong><span>Overview</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/writingTheAndroidApp.html"><strong>5</strong><span>Writing the Android Application</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/writingTheAndroidApp.html"><strong>5</strong><span>Writing the Android Application</span> >></a></div>
+
+ </nav>
@@ -565,8 +569,7 @@ dependency is added when we create an app with the <em>rest-api</em> profile.</p
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-an-android-client-powered-by-a-grails-backend"><img src="https://travis-ci.org/grails-guides/building-an-android-client-powered-by-a-grails-backend.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-an-android-client-powered-by-a-grails-backend">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -579,13 +582,14 @@ dependency is added when we create an app with the <em>rest-api</em> profile.</p
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-an-android-client-powered-by-a-grails-backend.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-an-android-client-powered-by-a-grails-backend.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
diff --git a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/css/guide.css b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/css/guide.css
index 7471d71ca4e..e76a9d7eef5 100644
--- a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/css/guide.css
+++ b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/css/guide.css
@@ -68,6 +68,22 @@ textarea {
vertical-align: middle;
}
+button:focus-visible,
+a:focus-visible,
+input:focus-visible,
+select:focus-visible,
+textarea:focus-visible,
+#main pre:focus-visible,
+#navigation a:focus-visible {
+ outline: 3px solid #0969da;
+ outline-offset: 2px;
+}
+
+#navigation #nav-summary > a:focus-visible {
+ background: #1f2328;
+ color: #ffffff;
+}
+
.input-group {
display: table;
margin-top: 12px;
@@ -325,19 +341,169 @@ body.guide article.guide aside button.btn-large + ul.githublinks + .input-group
color: #ffffff;
}
+#footer {
+ box-sizing: border-box;
+}
+
.local-title {
font-size: 1.4em;
font-weight: bold;
}
+/* ---- Standalone chapter layout -------------------------------------------- */
+body.body {
+ text-align: left;
+}
+
+#colset {
+ table-layout: fixed;
+}
+
+#colset #col1 {
+ min-width: 0;
+}
+
+#main,
+#main .listingblock,
+#main .listingblock .content {
+ min-width: 0;
+ max-width: 100%;
+}
+
+#main h1,
+#main h2 {
+ color: #d97706;
+}
+
+@media screen {
+ #main pre {
+ box-sizing: border-box;
+ contain: paint;
+ max-width: 100%;
+ overflow-x: auto;
+ white-space: pre;
+ }
+
+ #main .tableblock,
+ #main .imageblock,
+ #main .videoblock,
+ #main .listingblock,
+ #main .literalblock {
+ overflow-x: auto;
+ }
+}
+
+@media print {
+ body.body .listingblock pre,
+ body.body .listingblock pre code,
+ body.body .literalblock pre,
+ body.body .literalblock pre code,
+ body.guide .listingblock pre,
+ body.guide .listingblock pre code,
+ body.guide .literalblock pre,
+ body.guide .literalblock pre code {
+ contain: none;
+ overflow-x: visible !important;
+ overflow-wrap: anywhere;
+ white-space: pre-wrap;
+ }
+}
+
+#main .tableblock,
+#main .imageblock,
+#main .videoblock,
+#main .listingblock,
+#main .literalblock {
+ max-width: 100%;
+}
+
+#main img,
+#main object,
+#main svg {
+ height: auto;
+ max-width: 100%;
+}
+
+.chapter-navigation {
+ display: flex;
+ justify-content: space-between;
+ gap: 16px;
+ margin-bottom: 16px;
+}
+
+.chapter-navigation .toc-item {
+ float: none;
+}
+
+.chapter-navigation .next-right {
+ margin-left: auto;
+ text-align: right;
+}
+
+#nav-summary-childs {
+ display: none;
+ box-sizing: border-box;
+ max-width: calc(100vw - 32px);
+}
+
+#nav-summary:hover #nav-summary-childs,
+#nav-summary:focus-within #nav-summary-childs {
+ display: block;
+}
+
+.downloadButton {
+ display: inline-block;
+ color: #24292f !important;
+ background: #ffffff;
+ border: 1px solid #d0d7de;
+ border-radius: 6px;
+ padding: 7px 12px;
+ text-decoration: none;
+}
+
+.downloadButton:hover {
+ background: #f6f8fa;
+}
+
/* ---- Responsive: hide aside on small screens ----------------------------- */
-@media only screen and (max-device-width: 480px) and (orientation: portrait) {
+@media only screen and (max-width: 768px) {
+ body.body {
+ text-align: left;
+ }
+
+ .chapter-navigation {
+ align-items: flex-start;
+ flex-direction: column;
+ gap: 8px;
+ }
+
+ .chapter-navigation .next-right {
+ margin-left: 0;
+ text-align: left;
+ }
+
+ .contribute-btn {
+ clear: both;
+ float: none;
+ margin: 8px 0 16px;
+ position: static;
+ top: auto;
+ }
+
+ #colset,
+ #colset tbody,
+ #colset tr,
+ #colset #col1 {
+ display: block;
+ width: 100%;
+ }
#colset #col1 {
margin: 0;
padding: 0;
}
#main {
- width: 98%;
+ box-sizing: border-box;
+ width: auto;
margin: 0;
border: 0;
}
@@ -345,3 +511,9 @@ body.guide article.guide aside button.btn-large + ul.githublinks + .input-group
display: none;
}
}
+
+@media only screen and (min-width: 481px) and (max-width: 900px) {
+ body.guide article.guide > header {
+ padding-right: 72px;
+ }
+}
diff --git a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/conclusion.html b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/conclusion.html
index 5f0e86a5483..b9272cb1e30 100644
--- a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/conclusion.html
+++ b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/conclusion.html
@@ -4,10 +4,12 @@
<head>
<title>7 Conclusion</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -69,13 +71,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/version2.html"><< <strong>6</strong><span>API version 2.0</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/version2.html"><< <strong>6</strong><span>API version 2.0</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/helpWithGrails.html"><strong>8</strong><span>Do you need help with Grails?</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/helpWithGrails.html"><strong>8</strong><span>Do you need help with Grails?</span> >></a></div>
+
+ </nav>
@@ -107,8 +111,7 @@ function addJsClass() {
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend"><img src="https://travis-ci.org/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -121,17 +124,18 @@ function addJsClass() {
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend/archive/grails4.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/gettingStarted.html b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/gettingStarted.html
index fc258fd1e5c..2512957d997 100644
--- a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/gettingStarted.html
+++ b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/gettingStarted.html
@@ -4,10 +4,12 @@
<head>
<title>2 Getting Started</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -69,13 +71,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/training.html"><< <strong>1</strong><span>Grails Training</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/training.html"><< <strong>1</strong><span>Grails Training</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/overview.html"><strong>3</strong><span>Overview</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/overview.html"><strong>3</strong><span>Overview</span> >></a></div>
+
+ </nav>
@@ -273,8 +277,7 @@ You can go right to the completed version 2 of the iOS example if you <code>cd</
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend"><img src="https://travis-ci.org/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -287,17 +290,18 @@ You can go right to the completed version 2 of the iOS example if you <code>cd</
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend/archive/grails4.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/helpWithGrails.html b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/helpWithGrails.html
index 1e8786ca0b3..6e4e2874b0c 100644
--- a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/helpWithGrails.html
+++ b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/helpWithGrails.html
@@ -4,10 +4,12 @@
<head>
<title>8 Do you need help with Grails?</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -69,11 +71,13 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/conclusion.html"><< <strong>7</strong><span>Conclusion</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/conclusion.html"><< <strong>7</strong><span>Conclusion</span></a></div>
+
-
+
+ </nav>
@@ -127,8 +131,7 @@ function addJsClass() {
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend"><img src="https://travis-ci.org/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -141,17 +144,18 @@ function addJsClass() {
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend/archive/grails4.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/index.html b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/index.html
index 487781151fb..2f892b5159c 100644
--- a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/index.html
+++ b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/index.html
@@ -117,13 +117,13 @@
<li><button type="button" class="btn btn-default codeButton" onclick="document.getElementById('github-url').value='https://github.com/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend.git'">HTTPS</button></li>
</ul>
<div class="input-group">
- <input id="github-url" value="git@github.com:grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend.git" type="text"/>
- <button type="button" class="clippy btn btn-default" data-clipboard-target="#github-url">
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend.git" type="text"/>
+ <button type="button" class="clippy btn btn-default" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
</div>
<script>var clipboard = new Clipboard('.clippy');</script>
- <button type="button" class="btn btn-large" onclick="window.location.href="https://github.com/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend/archive/master.zip"">Download ZIP</button>
+ <button type="button" class="btn btn-large" onclick="window.location.href="https://github.com/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend/archive/grails4.zip"">Download ZIP</button>
<div id="table-of-content">
<h3>Table of Contents</h3>
diff --git a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/overview.html b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/overview.html
index a624d677fe5..e76d0ed2974 100644
--- a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/overview.html
+++ b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/overview.html
@@ -4,10 +4,12 @@
<head>
<title>3 Overview</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -69,13 +71,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/gettingStarted.html"><< <strong>2</strong><span>Getting Started</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/gettingStarted.html"><< <strong>2</strong><span>Getting Started</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/writingTheGrailsApp.html"><strong>4</strong><span>Writing the Grails Application</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/writingTheGrailsApp.html"><strong>4</strong><span>Writing the Grails Application</span> >></a></div>
+
+ </nav>
@@ -131,8 +135,7 @@ The latter will be rendered in a <em>UIWebView</em></p>
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend"><img src="https://travis-ci.org/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -145,17 +148,18 @@ The latter will be rendered in a <em>UIWebView</em></p>
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend/archive/grails4.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/training.html b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/training.html
index fc31d8f9e80..9a821a21f74 100644
--- a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/training.html
+++ b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/training.html
@@ -4,10 +4,12 @@
<head>
<title>1 Grails Training</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -69,11 +71,13 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
-
- <div class="toc-item next-right"><a href="../guide/gettingStarted.html"><strong>2</strong><span>Getting Started</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/gettingStarted.html"><strong>2</strong><span>Getting Started</span> >></a></div>
+
+ </nav>
@@ -108,8 +112,7 @@ function addJsClass() {
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend"><img src="https://travis-ci.org/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -122,17 +125,18 @@ function addJsClass() {
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend/archive/grails4.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/version2.html b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/version2.html
index 5dd9c171b7f..527041553a2 100644
--- a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/version2.html
+++ b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/version2.html
@@ -4,10 +4,12 @@
<head>
<title>6 API version 2.0</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -69,13 +71,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/writingTheiOSApp.html"><< <strong>5</strong><span>Writing the iOS Application</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/writingTheiOSApp.html"><< <strong>5</strong><span>Writing the iOS Application</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/conclusion.html"><strong>7</strong><span>Conclusion</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/conclusion.html"><strong>7</strong><span>Conclusion</span> >></a></div>
+
+ </nav>
@@ -629,8 +633,7 @@ in <em>MasterViewController</em> as illustrated below:</p>
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend"><img src="https://travis-ci.org/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -643,17 +646,18 @@ in <em>MasterViewController</em> as illustrated below:</p>
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend/archive/grails4.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/writingTheGrailsApp.html b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/writingTheGrailsApp.html
index 1d3ba2bf733..d1aa29446a1 100644
--- a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/writingTheGrailsApp.html
+++ b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/writingTheGrailsApp.html
@@ -4,10 +4,12 @@
<head>
<title>4 Writing the Grails Application</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -69,13 +71,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/overview.html"><< <strong>3</strong><span>Overview</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/overview.html"><< <strong>3</strong><span>Overview</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/writingTheiOSApp.html"><strong>5</strong><span>Writing the iOS Application</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/writingTheiOSApp.html"><strong>5</strong><span>Writing the iOS Application</span> >></a></div>
+
+ </nav>
@@ -568,8 +572,7 @@ dependency is added when we create an app with the <em>rest-api</em> profile.</p
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend"><img src="https://travis-ci.org/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -582,17 +585,18 @@ dependency is added when we create an app with the <em>rest-api</em> profile.</p
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend/archive/grails4.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/writingTheiOSApp.html b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/writingTheiOSApp.html
index a3c0c0c6f3f..2e7af6d14a2 100644
--- a/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/writingTheiOSApp.html
+++ b/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/writingTheiOSApp.html
@@ -4,10 +4,12 @@
<head>
<title>5 Writing the iOS Application</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-an-ios-objectc-client-powered-by-a-grails-backend/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -69,13 +71,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/writingTheGrailsApp.html"><< <strong>4</strong><span>Writing the Grails Application</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/writingTheGrailsApp.html"><< <strong>4</strong><span>Writing the Grails Application</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/version2.html"><strong>6</strong><span>API version 2.0</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/version2.html"><strong>6</strong><span>API version 2.0</span> >></a></div>
+
+ </nav>
@@ -1075,8 +1079,7 @@ we set the announcement property of <em>DetailViewController</em></p>
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend"><img src="https://travis-ci.org/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -1089,17 +1092,18 @@ we set the announcement property of <em>DetailViewController</em></p>
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/building-an-ios-objectc-client-powered-by-a-grails-backend/archive/grails4.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/css/guide.css b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/css/guide.css
index 7471d71ca4e..e76a9d7eef5 100644
--- a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/css/guide.css
+++ b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/css/guide.css
@@ -68,6 +68,22 @@ textarea {
vertical-align: middle;
}
+button:focus-visible,
+a:focus-visible,
+input:focus-visible,
+select:focus-visible,
+textarea:focus-visible,
+#main pre:focus-visible,
+#navigation a:focus-visible {
+ outline: 3px solid #0969da;
+ outline-offset: 2px;
+}
+
+#navigation #nav-summary > a:focus-visible {
+ background: #1f2328;
+ color: #ffffff;
+}
+
.input-group {
display: table;
margin-top: 12px;
@@ -325,19 +341,169 @@ body.guide article.guide aside button.btn-large + ul.githublinks + .input-group
color: #ffffff;
}
+#footer {
+ box-sizing: border-box;
+}
+
.local-title {
font-size: 1.4em;
font-weight: bold;
}
+/* ---- Standalone chapter layout -------------------------------------------- */
+body.body {
+ text-align: left;
+}
+
+#colset {
+ table-layout: fixed;
+}
+
+#colset #col1 {
+ min-width: 0;
+}
+
+#main,
+#main .listingblock,
+#main .listingblock .content {
+ min-width: 0;
+ max-width: 100%;
+}
+
+#main h1,
+#main h2 {
+ color: #d97706;
+}
+
+@media screen {
+ #main pre {
+ box-sizing: border-box;
+ contain: paint;
+ max-width: 100%;
+ overflow-x: auto;
+ white-space: pre;
+ }
+
+ #main .tableblock,
+ #main .imageblock,
+ #main .videoblock,
+ #main .listingblock,
+ #main .literalblock {
+ overflow-x: auto;
+ }
+}
+
+@media print {
+ body.body .listingblock pre,
+ body.body .listingblock pre code,
+ body.body .literalblock pre,
+ body.body .literalblock pre code,
+ body.guide .listingblock pre,
+ body.guide .listingblock pre code,
+ body.guide .literalblock pre,
+ body.guide .literalblock pre code {
+ contain: none;
+ overflow-x: visible !important;
+ overflow-wrap: anywhere;
+ white-space: pre-wrap;
+ }
+}
+
+#main .tableblock,
+#main .imageblock,
+#main .videoblock,
+#main .listingblock,
+#main .literalblock {
+ max-width: 100%;
+}
+
+#main img,
+#main object,
+#main svg {
+ height: auto;
+ max-width: 100%;
+}
+
+.chapter-navigation {
+ display: flex;
+ justify-content: space-between;
+ gap: 16px;
+ margin-bottom: 16px;
+}
+
+.chapter-navigation .toc-item {
+ float: none;
+}
+
+.chapter-navigation .next-right {
+ margin-left: auto;
+ text-align: right;
+}
+
+#nav-summary-childs {
+ display: none;
+ box-sizing: border-box;
+ max-width: calc(100vw - 32px);
+}
+
+#nav-summary:hover #nav-summary-childs,
+#nav-summary:focus-within #nav-summary-childs {
+ display: block;
+}
+
+.downloadButton {
+ display: inline-block;
+ color: #24292f !important;
+ background: #ffffff;
+ border: 1px solid #d0d7de;
+ border-radius: 6px;
+ padding: 7px 12px;
+ text-decoration: none;
+}
+
+.downloadButton:hover {
+ background: #f6f8fa;
+}
+
/* ---- Responsive: hide aside on small screens ----------------------------- */
-@media only screen and (max-device-width: 480px) and (orientation: portrait) {
+@media only screen and (max-width: 768px) {
+ body.body {
+ text-align: left;
+ }
+
+ .chapter-navigation {
+ align-items: flex-start;
+ flex-direction: column;
+ gap: 8px;
+ }
+
+ .chapter-navigation .next-right {
+ margin-left: 0;
+ text-align: left;
+ }
+
+ .contribute-btn {
+ clear: both;
+ float: none;
+ margin: 8px 0 16px;
+ position: static;
+ top: auto;
+ }
+
+ #colset,
+ #colset tbody,
+ #colset tr,
+ #colset #col1 {
+ display: block;
+ width: 100%;
+ }
#colset #col1 {
margin: 0;
padding: 0;
}
#main {
- width: 98%;
+ box-sizing: border-box;
+ width: auto;
margin: 0;
border: 0;
}
@@ -345,3 +511,9 @@ body.guide article.guide aside button.btn-large + ul.githublinks + .input-group
display: none;
}
}
+
+@media only screen and (min-width: 481px) and (max-width: 900px) {
+ body.guide article.guide > header {
+ padding-right: 72px;
+ }
+}
diff --git a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/conclusion.html b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/conclusion.html
index 20348e63b0b..27463d7f756 100644
--- a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/conclusion.html
+++ b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/conclusion.html
@@ -4,10 +4,12 @@
<head>
<title>7 Conclusion</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -69,13 +71,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/version2.html"><< <strong>6</strong><span>API version 2.0</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/version2.html"><< <strong>6</strong><span>API version 2.0</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/helpWithGrails.html"><strong>8</strong><span>Do you need help with Grails?</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/helpWithGrails.html"><strong>8</strong><span>Do you need help with Grails?</span> >></a></div>
+
+ </nav>
@@ -107,8 +111,7 @@ function addJsClass() {
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend"><img src="https://travis-ci.org/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -121,17 +124,18 @@ function addJsClass() {
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend/archive/grails4.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/gettingStarted.html b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/gettingStarted.html
index ac7e1ccf14a..0691a219765 100644
--- a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/gettingStarted.html
+++ b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/gettingStarted.html
@@ -4,10 +4,12 @@
<head>
<title>2 Getting Started</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -69,13 +71,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/training.html"><< <strong>1</strong><span>Grails Training</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/training.html"><< <strong>1</strong><span>Grails Training</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/overview.html"><strong>3</strong><span>Overview</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/overview.html"><strong>3</strong><span>Overview</span> >></a></div>
+
+ </nav>
@@ -274,8 +278,7 @@ You can go right to the completed version 2 of the iOS example if you <code>cd</
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend"><img src="https://travis-ci.org/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -288,17 +291,18 @@ You can go right to the completed version 2 of the iOS example if you <code>cd</
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend/archive/grails4.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/helpWithGrails.html b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/helpWithGrails.html
index 861da804795..5ae8f451c50 100644
--- a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/helpWithGrails.html
+++ b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/helpWithGrails.html
@@ -4,10 +4,12 @@
<head>
<title>8 Do you need help with Grails?</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -69,11 +71,13 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/conclusion.html"><< <strong>7</strong><span>Conclusion</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/conclusion.html"><< <strong>7</strong><span>Conclusion</span></a></div>
+
-
+
+ </nav>
@@ -127,8 +131,7 @@ function addJsClass() {
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend"><img src="https://travis-ci.org/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -141,17 +144,18 @@ function addJsClass() {
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend/archive/grails4.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/index.html b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/index.html
index 221814eb553..28c7a74fa10 100644
--- a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/index.html
+++ b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/index.html
@@ -117,13 +117,13 @@
<li><button type="button" class="btn btn-default codeButton" onclick="document.getElementById('github-url').value='https://github.com/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend.git'">HTTPS</button></li>
</ul>
<div class="input-group">
- <input id="github-url" value="git@github.com:grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend.git" type="text"/>
- <button type="button" class="clippy btn btn-default" data-clipboard-target="#github-url">
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend.git" type="text"/>
+ <button type="button" class="clippy btn btn-default" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
</div>
<script>var clipboard = new Clipboard('.clippy');</script>
- <button type="button" class="btn btn-large" onclick="window.location.href="https://github.com/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend/archive/master.zip"">Download ZIP</button>
+ <button type="button" class="btn btn-large" onclick="window.location.href="https://github.com/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend/archive/grails4.zip"">Download ZIP</button>
<div id="table-of-content">
<h3>Table of Contents</h3>
diff --git a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/overview.html b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/overview.html
index b2f6900e52d..68906bcf7e5 100644
--- a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/overview.html
+++ b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/overview.html
@@ -4,10 +4,12 @@
<head>
<title>3 Overview</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -69,13 +71,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/gettingStarted.html"><< <strong>2</strong><span>Getting Started</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/gettingStarted.html"><< <strong>2</strong><span>Getting Started</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/writingTheGrailsApp.html"><strong>4</strong><span>Writing the Grails Application</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/writingTheGrailsApp.html"><strong>4</strong><span>Writing the Grails Application</span> >></a></div>
+
+ </nav>
@@ -131,8 +135,7 @@ The latter will be rendered in a <em>UIWebView</em></p>
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend"><img src="https://travis-ci.org/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -145,17 +148,18 @@ The latter will be rendered in a <em>UIWebView</em></p>
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend/archive/grails4.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/training.html b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/training.html
index 192b0cf9a1a..323b273f1d4 100644
--- a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/training.html
+++ b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/training.html
@@ -4,10 +4,12 @@
<head>
<title>1 Grails Training</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -69,11 +71,13 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
-
- <div class="toc-item next-right"><a href="../guide/gettingStarted.html"><strong>2</strong><span>Getting Started</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/gettingStarted.html"><strong>2</strong><span>Getting Started</span> >></a></div>
+
+ </nav>
@@ -108,8 +112,7 @@ function addJsClass() {
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend"><img src="https://travis-ci.org/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -122,17 +125,18 @@ function addJsClass() {
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend/archive/grails4.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/version2.html b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/version2.html
index 8a803c157d3..36032830f1a 100644
--- a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/version2.html
+++ b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/version2.html
@@ -4,10 +4,12 @@
<head>
<title>6 API version 2.0</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -69,13 +71,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/writingTheiOSApp.html"><< <strong>5</strong><span>Writing the iOS Application</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/writingTheiOSApp.html"><< <strong>5</strong><span>Writing the iOS Application</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/conclusion.html"><strong>7</strong><span>Conclusion</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/conclusion.html"><strong>7</strong><span>Conclusion</span> >></a></div>
+
+ </nav>
@@ -566,8 +570,7 @@ class AnnouncementFetcher : NSObject, URLSessionDelegate {
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend"><img src="https://travis-ci.org/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -580,17 +583,18 @@ class AnnouncementFetcher : NSObject, URLSessionDelegate {
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend/archive/grails4.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/writingTheGrailsApp.html b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/writingTheGrailsApp.html
index 710d72383f6..b9112ed15bc 100644
--- a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/writingTheGrailsApp.html
+++ b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/writingTheGrailsApp.html
@@ -4,10 +4,12 @@
<head>
<title>4 Writing the Grails Application</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -69,13 +71,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/overview.html"><< <strong>3</strong><span>Overview</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/overview.html"><< <strong>3</strong><span>Overview</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/writingTheiOSApp.html"><strong>5</strong><span>Writing the iOS Application</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/writingTheiOSApp.html"><strong>5</strong><span>Writing the iOS Application</span> >></a></div>
+
+ </nav>
@@ -568,8 +572,7 @@ dependency is added when we create an app with the <em>rest-api</em> profile.</p
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend"><img src="https://travis-ci.org/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -582,17 +585,18 @@ dependency is added when we create an app with the <em>rest-api</em> profile.</p
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend/archive/grails4.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/writingTheiOSApp.html b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/writingTheiOSApp.html
index 64e8a8ef509..b04e517a374 100644
--- a/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/writingTheiOSApp.html
+++ b/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/writingTheiOSApp.html
@@ -4,10 +4,12 @@
<head>
<title>5 Writing the iOS Application</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/building-an-ios-swift-client-powered-by-a-grails-backend/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -69,13 +71,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/writingTheGrailsApp.html"><< <strong>4</strong><span>Writing the Grails Application</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/writingTheGrailsApp.html"><< <strong>4</strong><span>Writing the Grails Application</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/version2.html"><strong>6</strong><span>API version 2.0</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/version2.html"><strong>6</strong><span>API version 2.0</span> >></a></div>
+
+ </nav>
@@ -601,8 +605,7 @@ class DetailViewController: UIViewController, UIWebViewDelegate {
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend"><img src="https://travis-ci.org/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -615,17 +618,18 @@ class DetailViewController: UIViewController, UIWebViewDelegate {
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/building-an-ios-swift-client-powered-by-a-grails-backend/archive/grails4.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/categories/grailsasync.html b/guides/categories/grailsasync.html
index 032789efd98..5fcf5ee9658 100644
--- a/guides/categories/grailsasync.html
+++ b/guides/categories/grailsasync.html
@@ -126,7 +126,7 @@
</div>
</header>
-<article><div class='header-bar chalices-bg guides-header'><div class='content'><h1><a href='https://grails.apache.org/index.html'>Guides</a> → Grails Async</h1></div></div><div class='content guides-page'><div class='two-columns'><div class='column'><div></div></div><div class='column'><div class='guide-group guides-category-card'><div class='guide-group-header'><img src='https://grails.apache.org/images/async.svg' alt='' /><h2>Grails Async</h2></div><ul class='guides-category-list'><li [...]
+<article><div class='header-bar chalices-bg guides-header'><div class='content'><h1><a href='https://grails.apache.org/index.html'>Guides</a> → Grails Async</h1></div></div><div class='content guides-page'><div class='two-columns'><div class='column'><div></div></div><div class='column'><div class='guide-group guides-category-card'><div class='guide-group-header'><img src='https://grails.apache.org/images/async.svg' alt='' /><h2>Grails Async</h2></div><ul class='guides-category-list'><li [...]
<footer>
<div class='content'>
<div class='apache-grails'>
diff --git a/guides/command-objects-and-forms/3/css/guide.css b/guides/command-objects-and-forms/3/css/guide.css
index 7471d71ca4e..e76a9d7eef5 100644
--- a/guides/command-objects-and-forms/3/css/guide.css
+++ b/guides/command-objects-and-forms/3/css/guide.css
@@ -68,6 +68,22 @@ textarea {
vertical-align: middle;
}
+button:focus-visible,
+a:focus-visible,
+input:focus-visible,
+select:focus-visible,
+textarea:focus-visible,
+#main pre:focus-visible,
+#navigation a:focus-visible {
+ outline: 3px solid #0969da;
+ outline-offset: 2px;
+}
+
+#navigation #nav-summary > a:focus-visible {
+ background: #1f2328;
+ color: #ffffff;
+}
+
.input-group {
display: table;
margin-top: 12px;
@@ -325,19 +341,169 @@ body.guide article.guide aside button.btn-large + ul.githublinks + .input-group
color: #ffffff;
}
+#footer {
+ box-sizing: border-box;
+}
+
.local-title {
font-size: 1.4em;
font-weight: bold;
}
+/* ---- Standalone chapter layout -------------------------------------------- */
+body.body {
+ text-align: left;
+}
+
+#colset {
+ table-layout: fixed;
+}
+
+#colset #col1 {
+ min-width: 0;
+}
+
+#main,
+#main .listingblock,
+#main .listingblock .content {
+ min-width: 0;
+ max-width: 100%;
+}
+
+#main h1,
+#main h2 {
+ color: #d97706;
+}
+
+@media screen {
+ #main pre {
+ box-sizing: border-box;
+ contain: paint;
+ max-width: 100%;
+ overflow-x: auto;
+ white-space: pre;
+ }
+
+ #main .tableblock,
+ #main .imageblock,
+ #main .videoblock,
+ #main .listingblock,
+ #main .literalblock {
+ overflow-x: auto;
+ }
+}
+
+@media print {
+ body.body .listingblock pre,
+ body.body .listingblock pre code,
+ body.body .literalblock pre,
+ body.body .literalblock pre code,
+ body.guide .listingblock pre,
+ body.guide .listingblock pre code,
+ body.guide .literalblock pre,
+ body.guide .literalblock pre code {
+ contain: none;
+ overflow-x: visible !important;
+ overflow-wrap: anywhere;
+ white-space: pre-wrap;
+ }
+}
+
+#main .tableblock,
+#main .imageblock,
+#main .videoblock,
+#main .listingblock,
+#main .literalblock {
+ max-width: 100%;
+}
+
+#main img,
+#main object,
+#main svg {
+ height: auto;
+ max-width: 100%;
+}
+
+.chapter-navigation {
+ display: flex;
+ justify-content: space-between;
+ gap: 16px;
+ margin-bottom: 16px;
+}
+
+.chapter-navigation .toc-item {
+ float: none;
+}
+
+.chapter-navigation .next-right {
+ margin-left: auto;
+ text-align: right;
+}
+
+#nav-summary-childs {
+ display: none;
+ box-sizing: border-box;
+ max-width: calc(100vw - 32px);
+}
+
+#nav-summary:hover #nav-summary-childs,
+#nav-summary:focus-within #nav-summary-childs {
+ display: block;
+}
+
+.downloadButton {
+ display: inline-block;
+ color: #24292f !important;
+ background: #ffffff;
+ border: 1px solid #d0d7de;
+ border-radius: 6px;
+ padding: 7px 12px;
+ text-decoration: none;
+}
+
+.downloadButton:hover {
+ background: #f6f8fa;
+}
+
/* ---- Responsive: hide aside on small screens ----------------------------- */
-@media only screen and (max-device-width: 480px) and (orientation: portrait) {
+@media only screen and (max-width: 768px) {
+ body.body {
+ text-align: left;
+ }
+
+ .chapter-navigation {
+ align-items: flex-start;
+ flex-direction: column;
+ gap: 8px;
+ }
+
+ .chapter-navigation .next-right {
+ margin-left: 0;
+ text-align: left;
+ }
+
+ .contribute-btn {
+ clear: both;
+ float: none;
+ margin: 8px 0 16px;
+ position: static;
+ top: auto;
+ }
+
+ #colset,
+ #colset tbody,
+ #colset tr,
+ #colset #col1 {
+ display: block;
+ width: 100%;
+ }
#colset #col1 {
margin: 0;
padding: 0;
}
#main {
- width: 98%;
+ box-sizing: border-box;
+ width: auto;
margin: 0;
border: 0;
}
@@ -345,3 +511,9 @@ body.guide article.guide aside button.btn-large + ul.githublinks + .input-group
display: none;
}
}
+
+@media only screen and (min-width: 481px) and (max-width: 900px) {
+ body.guide article.guide > header {
+ padding-right: 72px;
+ }
+}
diff --git a/guides/command-objects-and-forms/3/guide/gettingStarted.html b/guides/command-objects-and-forms/3/guide/gettingStarted.html
index afef1cfef8d..5ed1674e13c 100644
--- a/guides/command-objects-and-forms/3/guide/gettingStarted.html
+++ b/guides/command-objects-and-forms/3/guide/gettingStarted.html
@@ -4,10 +4,12 @@
<head>
<title>2 Getting Started</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/command-objects-and-forms/3/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -63,13 +65,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/training.html"><< <strong>1</strong><span>Grails Training</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/training.html"><< <strong>1</strong><span>Grails Training</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/whatAreCommandObjects.html"><strong>3</strong><span>What are command objects?</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/whatAreCommandObjects.html"><strong>3</strong><span>What are command objects?</span> >></a></div>
+
+ </nav>
@@ -212,8 +216,7 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/command-objects-and-forms"><img src="https://travis-ci.org/grails-guides/command-objects-and-forms.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/command-objects-and-forms">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -226,17 +229,18 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/command-objects-and-forms.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/command-objects-and-forms.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/command-objects-and-forms/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/command-objects-and-forms/archive/grails3.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/command-objects-and-forms/3/guide/helpWithGrails.html b/guides/command-objects-and-forms/3/guide/helpWithGrails.html
index 3d5eb843668..5e3dfd68c87 100644
--- a/guides/command-objects-and-forms/3/guide/helpWithGrails.html
+++ b/guides/command-objects-and-forms/3/guide/helpWithGrails.html
@@ -4,10 +4,12 @@
<head>
<title>6 Do you need help with Grails?</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/command-objects-and-forms/3/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -63,11 +65,13 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/runningTheApp.html"><< <strong>5</strong><span>Running the Application</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/runningTheApp.html"><< <strong>5</strong><span>Running the Application</span></a></div>
+
-
+
+ </nav>
@@ -121,8 +125,7 @@ function addJsClass() {
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/command-objects-and-forms"><img src="https://travis-ci.org/grails-guides/command-objects-and-forms.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/command-objects-and-forms">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -135,17 +138,18 @@ function addJsClass() {
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/command-objects-and-forms.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/command-objects-and-forms.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/command-objects-and-forms/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/command-objects-and-forms/archive/grails3.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/command-objects-and-forms/3/guide/index.html b/guides/command-objects-and-forms/3/guide/index.html
index f76dab33480..cc631b42492 100644
--- a/guides/command-objects-and-forms/3/guide/index.html
+++ b/guides/command-objects-and-forms/3/guide/index.html
@@ -117,13 +117,13 @@
<li><button type="button" class="btn btn-default codeButton" onclick="document.getElementById('github-url').value='https://github.com/grails-guides/command-objects-and-forms.git'">HTTPS</button></li>
</ul>
<div class="input-group">
- <input id="github-url" value="git@github.com:grails-guides/command-objects-and-forms.git" type="text"/>
- <button type="button" class="clippy btn btn-default" data-clipboard-target="#github-url">
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/command-objects-and-forms.git" type="text"/>
+ <button type="button" class="clippy btn btn-default" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
</div>
<script>var clipboard = new Clipboard('.clippy');</script>
- <button type="button" class="btn btn-large" onclick="window.location.href="https://github.com/grails-guides/command-objects-and-forms/archive/master.zip"">Download ZIP</button>
+ <button type="button" class="btn btn-large" onclick="window.location.href="https://github.com/grails-guides/command-objects-and-forms/archive/grails3.zip"">Download ZIP</button>
<div id="table-of-content">
<h3>Table of Contents</h3>
diff --git a/guides/command-objects-and-forms/3/guide/runningTheApp.html b/guides/command-objects-and-forms/3/guide/runningTheApp.html
index e2772e9a628..35333689ef6 100644
--- a/guides/command-objects-and-forms/3/guide/runningTheApp.html
+++ b/guides/command-objects-and-forms/3/guide/runningTheApp.html
@@ -4,10 +4,12 @@
<head>
<title>5 Running the Application</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/command-objects-and-forms/3/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -63,13 +65,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/writingTheApp.html"><< <strong>4</strong><span>Writing the Application</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/writingTheApp.html"><< <strong>4</strong><span>Writing the Application</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/helpWithGrails.html"><strong>6</strong><span>Do you need help with Grails?</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/helpWithGrails.html"><strong>6</strong><span>Do you need help with Grails?</span> >></a></div>
+
+ </nav>
@@ -101,8 +105,7 @@ function addJsClass() {
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/command-objects-and-forms"><img src="https://travis-ci.org/grails-guides/command-objects-and-forms.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/command-objects-and-forms">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -115,17 +118,18 @@ function addJsClass() {
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/command-objects-and-forms.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/command-objects-and-forms.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/command-objects-and-forms/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/command-objects-and-forms/archive/grails3.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/command-objects-and-forms/3/guide/training.html b/guides/command-objects-and-forms/3/guide/training.html
index ef56cf2f642..ec3871887ff 100644
--- a/guides/command-objects-and-forms/3/guide/training.html
+++ b/guides/command-objects-and-forms/3/guide/training.html
@@ -4,10 +4,12 @@
<head>
<title>1 Grails Training</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/command-objects-and-forms/3/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -63,11 +65,13 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
-
- <div class="toc-item next-right"><a href="../guide/gettingStarted.html"><strong>2</strong><span>Getting Started</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/gettingStarted.html"><strong>2</strong><span>Getting Started</span> >></a></div>
+
+ </nav>
@@ -102,8 +106,7 @@ function addJsClass() {
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/command-objects-and-forms"><img src="https://travis-ci.org/grails-guides/command-objects-and-forms.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/command-objects-and-forms">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -116,17 +119,18 @@ function addJsClass() {
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/command-objects-and-forms.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/command-objects-and-forms.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/command-objects-and-forms/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/command-objects-and-forms/archive/grails3.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/command-objects-and-forms/3/guide/whatAreCommandObjects.html b/guides/command-objects-and-forms/3/guide/whatAreCommandObjects.html
index 8b48a45c929..13978b8cb9f 100644
--- a/guides/command-objects-and-forms/3/guide/whatAreCommandObjects.html
+++ b/guides/command-objects-and-forms/3/guide/whatAreCommandObjects.html
@@ -4,10 +4,12 @@
<head>
<title>3 What are command objects?</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/command-objects-and-forms/3/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -63,13 +65,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/gettingStarted.html"><< <strong>2</strong><span>Getting Started</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/gettingStarted.html"><< <strong>2</strong><span>Getting Started</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/writingTheApp.html"><strong>4</strong><span>Writing the Application</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/writingTheApp.html"><strong>4</strong><span>Writing the Application</span> >></a></div>
+
+ </nav>
@@ -114,8 +118,7 @@ in other files (or even classes defined in the same file as the controller using
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/command-objects-and-forms"><img src="https://travis-ci.org/grails-guides/command-objects-and-forms.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/command-objects-and-forms">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -128,17 +131,18 @@ in other files (or even classes defined in the same file as the controller using
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/command-objects-and-forms.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/command-objects-and-forms.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/command-objects-and-forms/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/command-objects-and-forms/archive/grails3.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/command-objects-and-forms/3/guide/writingTheApp.html b/guides/command-objects-and-forms/3/guide/writingTheApp.html
index 245334edd04..8df3a2f092f 100644
--- a/guides/command-objects-and-forms/3/guide/writingTheApp.html
+++ b/guides/command-objects-and-forms/3/guide/writingTheApp.html
@@ -4,10 +4,12 @@
<head>
<title>4 Writing the Application</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/command-objects-and-forms/3/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -63,13 +65,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/whatAreCommandObjects.html"><< <strong>3</strong><span>What are command objects?</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/whatAreCommandObjects.html"><< <strong>3</strong><span>What are command objects?</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/runningTheApp.html"><strong>5</strong><span>Running the Application</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/runningTheApp.html"><strong>5</strong><span>Running the Application</span> >></a></div>
+
+ </nav>
@@ -829,8 +833,7 @@ you define the class elsewhere and need <code>constraints</code>, you need to ad
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/command-objects-and-forms"><img src="https://travis-ci.org/grails-guides/command-objects-and-forms.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/command-objects-and-forms">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -843,17 +846,18 @@ you define the class elsewhere and need <code>constraints</code>, you need to ad
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/command-objects-and-forms.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/command-objects-and-forms.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/command-objects-and-forms/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/command-objects-and-forms/archive/grails3.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/command-objects-and-forms/4/css/guide.css b/guides/command-objects-and-forms/4/css/guide.css
index 7471d71ca4e..e76a9d7eef5 100644
--- a/guides/command-objects-and-forms/4/css/guide.css
+++ b/guides/command-objects-and-forms/4/css/guide.css
@@ -68,6 +68,22 @@ textarea {
vertical-align: middle;
}
+button:focus-visible,
+a:focus-visible,
+input:focus-visible,
+select:focus-visible,
+textarea:focus-visible,
+#main pre:focus-visible,
+#navigation a:focus-visible {
+ outline: 3px solid #0969da;
+ outline-offset: 2px;
+}
+
+#navigation #nav-summary > a:focus-visible {
+ background: #1f2328;
+ color: #ffffff;
+}
+
.input-group {
display: table;
margin-top: 12px;
@@ -325,19 +341,169 @@ body.guide article.guide aside button.btn-large + ul.githublinks + .input-group
color: #ffffff;
}
+#footer {
+ box-sizing: border-box;
+}
+
.local-title {
font-size: 1.4em;
font-weight: bold;
}
+/* ---- Standalone chapter layout -------------------------------------------- */
+body.body {
+ text-align: left;
+}
+
+#colset {
+ table-layout: fixed;
+}
+
+#colset #col1 {
+ min-width: 0;
+}
+
+#main,
+#main .listingblock,
+#main .listingblock .content {
+ min-width: 0;
+ max-width: 100%;
+}
+
+#main h1,
+#main h2 {
+ color: #d97706;
+}
+
+@media screen {
+ #main pre {
+ box-sizing: border-box;
+ contain: paint;
+ max-width: 100%;
+ overflow-x: auto;
+ white-space: pre;
+ }
+
+ #main .tableblock,
+ #main .imageblock,
+ #main .videoblock,
+ #main .listingblock,
+ #main .literalblock {
+ overflow-x: auto;
+ }
+}
+
+@media print {
+ body.body .listingblock pre,
+ body.body .listingblock pre code,
+ body.body .literalblock pre,
+ body.body .literalblock pre code,
+ body.guide .listingblock pre,
+ body.guide .listingblock pre code,
+ body.guide .literalblock pre,
+ body.guide .literalblock pre code {
+ contain: none;
+ overflow-x: visible !important;
+ overflow-wrap: anywhere;
+ white-space: pre-wrap;
+ }
+}
+
+#main .tableblock,
+#main .imageblock,
+#main .videoblock,
+#main .listingblock,
+#main .literalblock {
+ max-width: 100%;
+}
+
+#main img,
+#main object,
+#main svg {
+ height: auto;
+ max-width: 100%;
+}
+
+.chapter-navigation {
+ display: flex;
+ justify-content: space-between;
+ gap: 16px;
+ margin-bottom: 16px;
+}
+
+.chapter-navigation .toc-item {
+ float: none;
+}
+
+.chapter-navigation .next-right {
+ margin-left: auto;
+ text-align: right;
+}
+
+#nav-summary-childs {
+ display: none;
+ box-sizing: border-box;
+ max-width: calc(100vw - 32px);
+}
+
+#nav-summary:hover #nav-summary-childs,
+#nav-summary:focus-within #nav-summary-childs {
+ display: block;
+}
+
+.downloadButton {
+ display: inline-block;
+ color: #24292f !important;
+ background: #ffffff;
+ border: 1px solid #d0d7de;
+ border-radius: 6px;
+ padding: 7px 12px;
+ text-decoration: none;
+}
+
+.downloadButton:hover {
+ background: #f6f8fa;
+}
+
/* ---- Responsive: hide aside on small screens ----------------------------- */
-@media only screen and (max-device-width: 480px) and (orientation: portrait) {
+@media only screen and (max-width: 768px) {
+ body.body {
+ text-align: left;
+ }
+
+ .chapter-navigation {
+ align-items: flex-start;
+ flex-direction: column;
+ gap: 8px;
+ }
+
+ .chapter-navigation .next-right {
+ margin-left: 0;
+ text-align: left;
+ }
+
+ .contribute-btn {
+ clear: both;
+ float: none;
+ margin: 8px 0 16px;
+ position: static;
+ top: auto;
+ }
+
+ #colset,
+ #colset tbody,
+ #colset tr,
+ #colset #col1 {
+ display: block;
+ width: 100%;
+ }
#colset #col1 {
margin: 0;
padding: 0;
}
#main {
- width: 98%;
+ box-sizing: border-box;
+ width: auto;
margin: 0;
border: 0;
}
@@ -345,3 +511,9 @@ body.guide article.guide aside button.btn-large + ul.githublinks + .input-group
display: none;
}
}
+
+@media only screen and (min-width: 481px) and (max-width: 900px) {
+ body.guide article.guide > header {
+ padding-right: 72px;
+ }
+}
diff --git a/guides/command-objects-and-forms/4/guide/gettingStarted.html b/guides/command-objects-and-forms/4/guide/gettingStarted.html
index b0802efcdc3..f3751599df1 100644
--- a/guides/command-objects-and-forms/4/guide/gettingStarted.html
+++ b/guides/command-objects-and-forms/4/guide/gettingStarted.html
@@ -4,10 +4,12 @@
<head>
<title>2 Getting Started</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/command-objects-and-forms/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -63,13 +65,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/training.html"><< <strong>1</strong><span>Grails Training</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/training.html"><< <strong>1</strong><span>Grails Training</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/whatAreCommandObjects.html"><strong>3</strong><span>What are command objects?</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/whatAreCommandObjects.html"><strong>3</strong><span>What are command objects?</span> >></a></div>
+
+ </nav>
@@ -212,8 +216,7 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/command-objects-and-forms"><img src="https://travis-ci.org/grails-guides/command-objects-and-forms.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/command-objects-and-forms">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -226,17 +229,18 @@ You can go right to the <strong>completed example</strong> if you <code>cd</code
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/command-objects-and-forms.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/command-objects-and-forms.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/command-objects-and-forms/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/command-objects-and-forms/archive/grails4.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/command-objects-and-forms/4/guide/helpWithGrails.html b/guides/command-objects-and-forms/4/guide/helpWithGrails.html
index 467ea23f513..1d3aa6e9f60 100644
--- a/guides/command-objects-and-forms/4/guide/helpWithGrails.html
+++ b/guides/command-objects-and-forms/4/guide/helpWithGrails.html
@@ -4,10 +4,12 @@
<head>
<title>6 Do you need help with Grails?</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/command-objects-and-forms/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -63,11 +65,13 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/runningTheApp.html"><< <strong>5</strong><span>Running the Application</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/runningTheApp.html"><< <strong>5</strong><span>Running the Application</span></a></div>
+
-
+
+ </nav>
@@ -121,8 +125,7 @@ function addJsClass() {
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/command-objects-and-forms"><img src="https://travis-ci.org/grails-guides/command-objects-and-forms.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/command-objects-and-forms">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -135,17 +138,18 @@ function addJsClass() {
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/command-objects-and-forms.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/command-objects-and-forms.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/command-objects-and-forms/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/command-objects-and-forms/archive/grails4.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/command-objects-and-forms/4/guide/index.html b/guides/command-objects-and-forms/4/guide/index.html
index 3f375bf9d3c..5ddd5eaf3a9 100644
--- a/guides/command-objects-and-forms/4/guide/index.html
+++ b/guides/command-objects-and-forms/4/guide/index.html
@@ -117,13 +117,13 @@
<li><button type="button" class="btn btn-default codeButton" onclick="document.getElementById('github-url').value='https://github.com/grails-guides/command-objects-and-forms.git'">HTTPS</button></li>
</ul>
<div class="input-group">
- <input id="github-url" value="git@github.com:grails-guides/command-objects-and-forms.git" type="text"/>
- <button type="button" class="clippy btn btn-default" data-clipboard-target="#github-url">
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/command-objects-and-forms.git" type="text"/>
+ <button type="button" class="clippy btn btn-default" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
</div>
<script>var clipboard = new Clipboard('.clippy');</script>
- <button type="button" class="btn btn-large" onclick="window.location.href="https://github.com/grails-guides/command-objects-and-forms/archive/master.zip"">Download ZIP</button>
+ <button type="button" class="btn btn-large" onclick="window.location.href="https://github.com/grails-guides/command-objects-and-forms/archive/grails4.zip"">Download ZIP</button>
<div id="table-of-content">
<h3>Table of Contents</h3>
diff --git a/guides/command-objects-and-forms/4/guide/runningTheApp.html b/guides/command-objects-and-forms/4/guide/runningTheApp.html
index cefbcb92014..a88cfb543d7 100644
--- a/guides/command-objects-and-forms/4/guide/runningTheApp.html
+++ b/guides/command-objects-and-forms/4/guide/runningTheApp.html
@@ -4,10 +4,12 @@
<head>
<title>5 Running the Application</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/command-objects-and-forms/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -63,13 +65,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/writingTheApp.html"><< <strong>4</strong><span>Writing the Application</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/writingTheApp.html"><< <strong>4</strong><span>Writing the Application</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/helpWithGrails.html"><strong>6</strong><span>Do you need help with Grails?</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/helpWithGrails.html"><strong>6</strong><span>Do you need help with Grails?</span> >></a></div>
+
+ </nav>
@@ -101,8 +105,7 @@ function addJsClass() {
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/command-objects-and-forms"><img src="https://travis-ci.org/grails-guides/command-objects-and-forms.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/command-objects-and-forms">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -115,17 +118,18 @@ function addJsClass() {
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/command-objects-and-forms.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/command-objects-and-forms.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/command-objects-and-forms/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/command-objects-and-forms/archive/grails4.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/command-objects-and-forms/4/guide/training.html b/guides/command-objects-and-forms/4/guide/training.html
index fa02f385392..777f880468c 100644
--- a/guides/command-objects-and-forms/4/guide/training.html
+++ b/guides/command-objects-and-forms/4/guide/training.html
@@ -4,10 +4,12 @@
<head>
<title>1 Grails Training</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/command-objects-and-forms/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -63,11 +65,13 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
-
- <div class="toc-item next-right"><a href="../guide/gettingStarted.html"><strong>2</strong><span>Getting Started</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/gettingStarted.html"><strong>2</strong><span>Getting Started</span> >></a></div>
+
+ </nav>
@@ -102,8 +106,7 @@ function addJsClass() {
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/command-objects-and-forms"><img src="https://travis-ci.org/grails-guides/command-objects-and-forms.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/command-objects-and-forms">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -116,17 +119,18 @@ function addJsClass() {
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/command-objects-and-forms.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/command-objects-and-forms.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/command-objects-and-forms/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/command-objects-and-forms/archive/grails4.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/command-objects-and-forms/4/guide/whatAreCommandObjects.html b/guides/command-objects-and-forms/4/guide/whatAreCommandObjects.html
index 31a34dde984..415eab13775 100644
--- a/guides/command-objects-and-forms/4/guide/whatAreCommandObjects.html
+++ b/guides/command-objects-and-forms/4/guide/whatAreCommandObjects.html
@@ -4,10 +4,12 @@
<head>
<title>3 What are command objects?</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/command-objects-and-forms/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -63,13 +65,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/gettingStarted.html"><< <strong>2</strong><span>Getting Started</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/gettingStarted.html"><< <strong>2</strong><span>Getting Started</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/writingTheApp.html"><strong>4</strong><span>Writing the Application</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/writingTheApp.html"><strong>4</strong><span>Writing the Application</span> >></a></div>
+
+ </nav>
@@ -114,8 +118,7 @@ in other files (or even classes defined in the same file as the controller using
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/command-objects-and-forms"><img src="https://travis-ci.org/grails-guides/command-objects-and-forms.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/command-objects-and-forms">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -128,17 +131,18 @@ in other files (or even classes defined in the same file as the controller using
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/command-objects-and-forms.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/command-objects-and-forms.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/command-objects-and-forms/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/command-objects-and-forms/archive/grails4.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/command-objects-and-forms/4/guide/writingTheApp.html b/guides/command-objects-and-forms/4/guide/writingTheApp.html
index 4e63fd3af7e..429da6fafdb 100644
--- a/guides/command-objects-and-forms/4/guide/writingTheApp.html
+++ b/guides/command-objects-and-forms/4/guide/writingTheApp.html
@@ -4,10 +4,12 @@
<head>
<title>4 Writing the Application</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/command-objects-and-forms/4/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -63,13 +65,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/whatAreCommandObjects.html"><< <strong>3</strong><span>What are command objects?</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/whatAreCommandObjects.html"><< <strong>3</strong><span>What are command objects?</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/runningTheApp.html"><strong>5</strong><span>Running the Application</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/runningTheApp.html"><strong>5</strong><span>Running the Application</span> >></a></div>
+
+ </nav>
@@ -890,8 +894,7 @@ you define the class elsewhere and need <code>constraints</code>, you need to ad
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/command-objects-and-forms"><img src="https://travis-ci.org/grails-guides/command-objects-and-forms.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/command-objects-and-forms">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -904,17 +907,18 @@ you define the class elsewhere and need <code>constraints</code>, you need to ad
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/command-objects-and-forms.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/command-objects-and-forms.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/command-objects-and-forms/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/command-objects-and-forms/archive/grails4.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/creating-your-first-grails-app/3/css/guide.css b/guides/creating-your-first-grails-app/3/css/guide.css
index 7471d71ca4e..e76a9d7eef5 100644
--- a/guides/creating-your-first-grails-app/3/css/guide.css
+++ b/guides/creating-your-first-grails-app/3/css/guide.css
@@ -68,6 +68,22 @@ textarea {
vertical-align: middle;
}
+button:focus-visible,
+a:focus-visible,
+input:focus-visible,
+select:focus-visible,
+textarea:focus-visible,
+#main pre:focus-visible,
+#navigation a:focus-visible {
+ outline: 3px solid #0969da;
+ outline-offset: 2px;
+}
+
+#navigation #nav-summary > a:focus-visible {
+ background: #1f2328;
+ color: #ffffff;
+}
+
.input-group {
display: table;
margin-top: 12px;
@@ -325,19 +341,169 @@ body.guide article.guide aside button.btn-large + ul.githublinks + .input-group
color: #ffffff;
}
+#footer {
+ box-sizing: border-box;
+}
+
.local-title {
font-size: 1.4em;
font-weight: bold;
}
+/* ---- Standalone chapter layout -------------------------------------------- */
+body.body {
+ text-align: left;
+}
+
+#colset {
+ table-layout: fixed;
+}
+
+#colset #col1 {
+ min-width: 0;
+}
+
+#main,
+#main .listingblock,
+#main .listingblock .content {
+ min-width: 0;
+ max-width: 100%;
+}
+
+#main h1,
+#main h2 {
+ color: #d97706;
+}
+
+@media screen {
+ #main pre {
+ box-sizing: border-box;
+ contain: paint;
+ max-width: 100%;
+ overflow-x: auto;
+ white-space: pre;
+ }
+
+ #main .tableblock,
+ #main .imageblock,
+ #main .videoblock,
+ #main .listingblock,
+ #main .literalblock {
+ overflow-x: auto;
+ }
+}
+
+@media print {
+ body.body .listingblock pre,
+ body.body .listingblock pre code,
+ body.body .literalblock pre,
+ body.body .literalblock pre code,
+ body.guide .listingblock pre,
+ body.guide .listingblock pre code,
+ body.guide .literalblock pre,
+ body.guide .literalblock pre code {
+ contain: none;
+ overflow-x: visible !important;
+ overflow-wrap: anywhere;
+ white-space: pre-wrap;
+ }
+}
+
+#main .tableblock,
+#main .imageblock,
+#main .videoblock,
+#main .listingblock,
+#main .literalblock {
+ max-width: 100%;
+}
+
+#main img,
+#main object,
+#main svg {
+ height: auto;
+ max-width: 100%;
+}
+
+.chapter-navigation {
+ display: flex;
+ justify-content: space-between;
+ gap: 16px;
+ margin-bottom: 16px;
+}
+
+.chapter-navigation .toc-item {
+ float: none;
+}
+
+.chapter-navigation .next-right {
+ margin-left: auto;
+ text-align: right;
+}
+
+#nav-summary-childs {
+ display: none;
+ box-sizing: border-box;
+ max-width: calc(100vw - 32px);
+}
+
+#nav-summary:hover #nav-summary-childs,
+#nav-summary:focus-within #nav-summary-childs {
+ display: block;
+}
+
+.downloadButton {
+ display: inline-block;
+ color: #24292f !important;
+ background: #ffffff;
+ border: 1px solid #d0d7de;
+ border-radius: 6px;
+ padding: 7px 12px;
+ text-decoration: none;
+}
+
+.downloadButton:hover {
+ background: #f6f8fa;
+}
+
/* ---- Responsive: hide aside on small screens ----------------------------- */
-@media only screen and (max-device-width: 480px) and (orientation: portrait) {
+@media only screen and (max-width: 768px) {
+ body.body {
+ text-align: left;
+ }
+
+ .chapter-navigation {
+ align-items: flex-start;
+ flex-direction: column;
+ gap: 8px;
+ }
+
+ .chapter-navigation .next-right {
+ margin-left: 0;
+ text-align: left;
+ }
+
+ .contribute-btn {
+ clear: both;
+ float: none;
+ margin: 8px 0 16px;
+ position: static;
+ top: auto;
+ }
+
+ #colset,
+ #colset tbody,
+ #colset tr,
+ #colset #col1 {
+ display: block;
+ width: 100%;
+ }
#colset #col1 {
margin: 0;
padding: 0;
}
#main {
- width: 98%;
+ box-sizing: border-box;
+ width: auto;
margin: 0;
border: 0;
}
@@ -345,3 +511,9 @@ body.guide article.guide aside button.btn-large + ul.githublinks + .input-group
display: none;
}
}
+
+@media only screen and (min-width: 481px) and (max-width: 900px) {
+ body.guide article.guide > header {
+ padding-right: 72px;
+ }
+}
diff --git a/guides/creating-your-first-grails-app/3/guide/controllers.html b/guides/creating-your-first-grails-app/3/guide/controllers.html
index 15ee173e0e3..c7dd11ff64f 100644
--- a/guides/creating-your-first-grails-app/3/guide/controllers.html
+++ b/guides/creating-your-first-grails-app/3/guide/controllers.html
@@ -4,10 +4,12 @@
<head>
<title>6 Controllers</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/creating-your-first-grails-app/3/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -78,13 +80,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/domainClasses.html"><< <strong>5</strong><span>Domain Classes</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/domainClasses.html"><< <strong>5</strong><span>Domain Classes</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/views.html"><strong>7</strong><span>Views</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/views.html"><strong>7</strong><span>Views</span> >></a></div>
+
+ </nav>
@@ -821,8 +825,7 @@ Date: Wed, 11 Jan 2017 04:06:57 GMT
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/creating-your-first-grails-app"><img src="https://travis-ci.org/grails-guides/creating-your-first-grails-app.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/creating-your-first-grails-app">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -835,17 +838,18 @@ Date: Wed, 11 Jan 2017 04:06:57 GMT
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/creating-your-first-grails-app.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/creating-your-first-grails-app.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/creating-your-first-grails-app/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/creating-your-first-grails-app/archive/grails3.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/creating-your-first-grails-app/3/guide/creatingTheApp.html b/guides/creating-your-first-grails-app/3/guide/creatingTheApp.html
index 9889e803273..b4cb5d389a2 100644
--- a/guides/creating-your-first-grails-app/3/guide/creatingTheApp.html
+++ b/guides/creating-your-first-grails-app/3/guide/creatingTheApp.html
@@ -4,10 +4,12 @@
<head>
<title>3 Creating your Grails App</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/creating-your-first-grails-app/3/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -78,13 +80,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/gettingStarted.html"><< <strong>2</strong><span>Getting Started</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/gettingStarted.html"><< <strong>2</strong><span>Getting Started</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/runningTheApp.html"><strong>4</strong><span>Running the App</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/runningTheApp.html"><strong>4</strong><span>Running the App</span> >></a></div>
+
+ </nav>
@@ -424,8 +428,7 @@ When you create an app without <code>-profile</code> the default profile used is
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/creating-your-first-grails-app"><img src="https://travis-ci.org/grails-guides/creating-your-first-grails-app.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/creating-your-first-grails-app">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -438,17 +441,18 @@ When you create an app without <code>-profile</code> the default profile used is
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/creating-your-first-grails-app.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/creating-your-first-grails-app.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/creating-your-first-grails-app/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/creating-your-first-grails-app/archive/grails3.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/creating-your-first-grails-app/3/guide/deployment.html b/guides/creating-your-first-grails-app/3/guide/deployment.html
index 4f886b8d2ed..0d8fc232b8b 100644
--- a/guides/creating-your-first-grails-app/3/guide/deployment.html
+++ b/guides/creating-your-first-grails-app/3/guide/deployment.html
@@ -4,10 +4,12 @@
<head>
<title>10 Deploying your App</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/creating-your-first-grails-app/3/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
<link rel="stylesheet" href="../css/guide.css" type="text/css" media="screen, print" title="Style" charset="utf-8" />
<link rel="stylesheet" href="../css/pdf.css" type="text/css" media="print" title="PDF" charset="utf-8"/>
+ <script type="text/javascript" src="../js/clipboard.min.js"></script>
<script type="text/javascript">
function addJsClass() {
var classes = document.body.className.split(" ");
@@ -26,10 +28,10 @@ function addJsClass() {
<div class="navLinks">
<ul>
<li>
- <div id="nav-summary" onmouseover="toggleNavSummary(false)" onmouseout="toggleNavSummary(true)">
- <a href="../guide/index.html" class="button">Table of contents</a>
+ <div id="nav-summary">
+ <a href="../guide/index.html" class="button" aria-haspopup="true">Table of contents</a>
- <div id="nav-summary-childs" style="display:none;">
+ <div id="nav-summary-childs">
<div class="toc-item" style="margin-left:0"><a href="../guide/training.html"><strong>1</strong><span>Grails Training</span></a>
</div>
@@ -78,13 +80,15 @@ function addJsClass() {
<td id="col1">
<div id="main" class="corner-all">
-
- <div class="toc-item prev-left"><a href="../guide/testing.html"><< <strong>9</strong><span>Testing your App</span></a></div>
-
+ <nav class="chapter-navigation" aria-label="Chapter navigation">
+
+ <div class="toc-item prev-left"><a href="../guide/testing.html"><< <strong>9</strong><span>Testing your App</span></a></div>
+
-
- <div class="toc-item next-right"><a href="../guide/helpWithGrails.html"><strong>11</strong><span>Do you need help with Grails?</span> >></a></div>
-
+
+ <div class="toc-item next-right"><a href="../guide/helpWithGrails.html"><strong>11</strong><span>Do you need help with Grails?</span> >></a></div>
+
+ </nav>
@@ -154,8 +158,7 @@ BUILD SUCCESSFUL
</td>
<td id="col2">
<div class="local clearfix">
- <div class="local-title" style="text-align: right"><a href="https://travis-ci.org/grails-guides/creating-your-first-grails-app"><img src="https://travis-ci.org/grails-guides/creating-your-first-grails-app.svg?branch=master" /></a></div>
- <div class="local-title">
+ <div class="local-title">
<a href="https://github.com/grails-guides/creating-your-first-grails-app">
<svg height="35" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="35" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.8 [...]
</div>
@@ -168,17 +171,18 @@ BUILD SUCCESSFUL
<div class="input-group">
<!-- Target -->
- <input id="github-url" value="git@github.com:grails-guides/creating-your-first-grails-app.git" type="text" />
+ <input id="github-url" aria-label="Git repository URL" value="git@github.com:grails-guides/creating-your-first-grails-app.git" type="text" />
<!-- Trigger -->
- <button class="clipbtn" type="button" data-clipboard-target="#github-url">
+ <button class="clipbtn" type="button" data-clipboard-target="#github-url" aria-label="Copy Git repository URL">
<img width="13" src="../img/clippy.svg" alt="Copy to clipboard">
</button>
+ <script type="text/javascript">new Clipboard('.clipbtn');</script>
</div>
<div class="input-group">
- <a href="https://github.com/grails-guides/creating-your-first-grails-app/archive/master.zip" class="downloadButton">Download ZIP</a>
+ <a href="https://github.com/grails-guides/creating-your-first-grails-app/archive/grails3.zip" class="downloadButton">Download ZIP</a>
</div>
</div>
</div>
diff --git a/guides/creating-your-first-grails-app/3/guide/domainClasses.html b/guides/creating-your-first-grails-app/3/guide/domainClasses.html
index 9e5f2b73780..2be8161ccbc 100644
--- a/guides/creating-your-first-grails-app/3/guide/domainClasses.html
+++ b/guides/creating-your-first-grails-app/3/guide/domainClasses.html
@@ -4,10 +4,12 @@
<head>
<title>5 Domain Classes</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="canonical" href="https://grails.apache.org/guides/creating-your-first-grails-app/3/guide/index.html"/>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen, print" title="Style" charset="utf-8"/>
... 112686 lines suppressed ...