29 | Giddy Up!
30 |
31 |
32 |
33 |
56 |
--------------------------------------------------------------------------------
/resources/code/WildRydesVue/src/config.js:
--------------------------------------------------------------------------------
1 | // Add your API invoke URL below, configured in Module 3.
2 |
3 | module.exports = {
4 | api: {
5 | invokeUrl: '' // e.g. https://rc2345678345.execute-api.us-west-2.amazonaws.com/prod,
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/resources/code/WildRydesVue/src/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './App.vue'
3 | import router from './router'
4 | import store from './store'
5 |
6 | import Amplify, * as AmplifyModules from 'aws-amplify'
7 | import { AmplifyPlugin } from 'aws-amplify-vue'
8 | import awsconfig from './aws-exports'
9 |
10 | Amplify.configure(awsconfig)
11 | Vue.use(AmplifyPlugin, AmplifyModules)
12 | Vue.config.productionTip = false
13 |
14 | new Vue({
15 | router,
16 | store,
17 | render: h => h(App)
18 | }).$mount('#app')
19 |
20 |
--------------------------------------------------------------------------------
/resources/code/WildRydesVue/src/store.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Vuex from 'vuex'
3 |
4 | Vue.use(Vuex)
5 |
6 | export default new Vuex.Store({
7 | state: {
8 |
9 | },
10 | mutations: {
11 |
12 | },
13 | actions: {
14 |
15 | }
16 | })
17 |
--------------------------------------------------------------------------------
/resources/code/WildRydesVue/src/store/store.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
5 | * the License. A copy of the License is located at
6 | *
7 | * http://aws.amazon.com/apache2.0/
8 | *
9 | * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
10 | * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
11 | * and limitations under the License.
12 | */
13 |
14 | import Vue from 'vue'
15 | import Vuex from 'vuex'
16 |
17 | Vue.use(Vuex)
18 |
19 | const store = new Vuex.Store({
20 | state: {
21 | user: null
22 | },
23 | mutations: {
24 | setUser(state, user) {
25 | state.user = user
26 | },
27 | }
28 | })
29 |
30 | export default store
--------------------------------------------------------------------------------
/resources/code/WildRydesVue/src/views/Apply.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Wild Rydes is on the hunt for the most mythical creature of all: talented software engineers! We’re seeking a technical dream team who will help us build a future where every person has a unicorn to ryde.
10 |
From a technical standpoint, Wild Rydes believes in a future where there are no servers to provision, manage, or scale! Interested candidates can begin following the Serverless Way by exploring the following options:
No machines, VMs, or containers visible in the programming model.
19 |
Permanent storage lives elsewhere.
20 |
Scales per request. Users cannot over- or under-provision capacity.
21 |
Never pay for idle (no cold servers/containers or their costs).
22 |
Implicitly fault tolerant because functions can run anywhere.
23 |
BYOC - Bring your own code.
24 |
Metrics and logging are a universal right.
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
49 |
50 |
--------------------------------------------------------------------------------
/resources/code/WildRydesVue/vue.config.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/resources/code/WildRydesVue/vue.config.js
--------------------------------------------------------------------------------
/resources/policies/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/resources/policies/.gitkeep
--------------------------------------------------------------------------------
/resources/templates/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/resources/templates/.gitkeep
--------------------------------------------------------------------------------
/workshop/.gitignore:
--------------------------------------------------------------------------------
1 | .vscode/
2 | .DS_Store
3 | public/
4 | .idea/
5 | resources
6 |
--------------------------------------------------------------------------------
/workshop/.hugo_build.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/.hugo_build.lock
--------------------------------------------------------------------------------
/workshop/buildspec.yml:
--------------------------------------------------------------------------------
1 | # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | # SPDX-License-Identifier: MIT-0
3 |
4 | version: 0.2
5 | phases:
6 | install:
7 | runtime-versions:
8 | golang: 1.12
9 | nodejs: 10
10 | commands:
11 | - echo Entered the install phase...
12 | - apt-get -qq update && apt-get -qq install curl
13 | - apt-get -qq install asciidoctor
14 | - curl -s -L https://github.com/gohugoio/hugo/releases/download/v0.55.6/hugo_0.55.6_Linux-64bit.deb -o hugo.deb
15 | - dpkg -i hugo.deb
16 | finally:
17 | - echo Installation done
18 | build:
19 | commands:
20 | - echo Entered the build phase ...
21 | - echo Build started on `date`
22 | - cd $CODEBUILD_SRC_DIR/workshop
23 | - hugo --quiet
24 | finally:
25 | - echo Building the HTML files finished
26 | artifacts:
27 | files:
28 | - "**/*"
29 | base-directory: $CODEBUILD_SRC_DIR/workshop/public/
30 | discard-paths: no
--------------------------------------------------------------------------------
/workshop/config.toml:
--------------------------------------------------------------------------------
1 | copyright = "Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved."
2 | spdx-license-identifier = "CC-BY-SA-4.0"
3 |
4 | baseURL = "https://webapp.serverlessworkshops.io"
5 | languageCode = "en-US"
6 | defaultContentLanguage = "en"
7 |
8 | title = "Wild Rydes Web Application"
9 | theme = "learn"
10 | metaDataFormat = "yaml"
11 | defaultContentLanguageInSubdir= true
12 |
13 | uglyurls = false
14 | sectionPagesMenu = "main"
15 | pygmentsCodeFences = true
16 | pygmentsStyle = "monokai"
17 |
18 | enableEmoji = true
19 |
20 | [params]
21 | description = "Wild Rydes Web Application"
22 | author = "Ben Smith"
23 | disableBreadcrumb = false
24 | disableNextPrev = false
25 | themeVariant = "aws"
26 | disableSearch = false
27 | disableAssetsBusting = true
28 | disableLanguageSwitchingButton = false
29 | disableShortcutsTitle = true
30 | disableInlineCopyToClipBoard = true
31 |
32 | [outputs]
33 | home = [ "HTML", "RSS", "JSON"]
34 |
35 | [blackfriday]
36 | plainIDAnchors = true
37 | hrefTargetBlank = true
38 |
39 | [Languages]
40 | [Languages.en]
41 | title = "Wild Rydes Web Application"
42 | weight = 1
43 | languageName = "English"
44 |
--------------------------------------------------------------------------------
/workshop/content/0-introduction/1-overview/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Overview"
3 | weight = 11
4 | +++
5 |
6 | In this workshop you'll deploy a simple web application that enables users to request unicorn rides from the [Wild Rydes][wildrydes] fleet. The application will present users with an HTML based user interface for indicating the location where they would like to be picked up and will interface on the backend with a RESTful web service to submit the request and dispatch a nearby unicorn. The application will also provide facilities for users to register with the service and log in before requesting rides.
7 |
8 | The application architecture uses [AWS Lambda][lambda], [Amazon API Gateway][api-gw], [Amazon S3][s3], [Amazon DynamoDB][dynamodb], [Amazon Cognito][cognito], and [AWS Amplify Console][amplify-console]. Amplify Console hosts static web resources including HTML, CSS, JavaScript, and image files which are loaded in the user's browser via S3. JavaScript executed in the browser sends and receives data from a public backend API built using Lambda and API Gateway. Amazon Cognito provides user management and authentication functions to secure the backend API. Finally, DynamoDB provides a persistence layer where data can be stored by the API's Lambda function.
9 |
10 | See the diagram below for a depiction of the complete architecture.
11 |
12 | 
--------------------------------------------------------------------------------
/workshop/content/0-introduction/2-modules/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Modules"
3 | weight = 12
4 | +++
5 |
6 | After completing the Initial Setup, follow the remaining modules in order:
7 |
8 | Module # | Feature | Description
9 | ------------ | ------------- | -------------
10 | This section | Introduction | Learn about the Serverless web application.
11 | [Setup][setup] | Setup | Prerequisites and requirements and setting up the AWS Cloud9 IDE.
12 | [Static Web Hosting][static-web-hosting] | Deploy the application | Deploy the static website using AWS Amplify Console by first creating a git repository (in either CodeCommit or GitHub) and then pushing the site code.
13 | [User Management][user-management] | Configure Login access |Configure user management for the website using Amazon Cognito.
14 | [Serverless Backend][serverless-backend] | Database | Create an AWS Lambda function that will persist data to an Amazon DynamoDB table.
15 | [RESTful APIs][restful-apis] | Configure API | Expose the Lambda function via an Amazon API Gateway as a RESTful API that the static site can call.
16 | [Cleanup][cleanup] | Cleanup workshop resources | How to remove all of the workshop's resources from your account.
17 |
18 | If you run out of time in the workshop, don't panic! These instructions are public and they are available after your workshop ends.
19 |
20 | [setup]: /0-setup
21 | [static-web-hosting]: /1-staticwebhosting
22 | [user-management]: /2-usermanagement
23 | [serverless-backend]: /3-serverlessbackend
24 | [restful-apis]: /4-restfulapis
25 | [cleanup]: /5-cleanup
--------------------------------------------------------------------------------
/workshop/content/0-introduction/3-cost/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Cost"
3 | weight = 13
4 | +++
5 |
6 | If you are using an account provided at an AWS event, the account will be cleaned up automatically. There are no AWS costs for you in this case.
7 |
8 | If you are using your own AWS account, this workshop uses AWS services that are mostly covered by the Free Tier allowance (if your account is less than 12 months old) but it may incur some costs. To minimize cost, make sure you deprovision and delete those resources when you are finished. You can find the instructions for how to do that under [Cleanup](./00-cleanup/README.md).
9 |
10 | {{% notice note %}}
11 | You are liable for the costs incurred of running this workshop.
12 | {{% /notice %}}
--------------------------------------------------------------------------------
/workshop/content/0-introduction/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Introduction"
3 | chapter = true
4 | weight = 1
5 | +++
6 |
7 | This section explains the scenario, the overall application structure, and the expected cost if you are running this workshop in your own AWS account.
--------------------------------------------------------------------------------
/workshop/content/0-setup/1-region/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "AWS Region"
3 | weight = 12
4 | +++
5 |
6 | Use a single region for the entirety of this workshop. This workshop only supports the following regions:
7 |
8 | - us-east-1 (US East - Northern Virginia)
9 | - us-east-2 (US East - Ohio)
10 | - us-west-1 (US West - N.California)
11 | - us-west-2 (US West - Oregon)
12 | - ap-northeast-1 (Asia Pacific - Tokyo)
13 | - ap-northeast-2 (Asia Pacific - Seoul)
14 | - ap-southeast-1 (Asia Pacific - Singapore)
15 | - ap-southeast-2 (Asia Pacific - Sydney)
16 | - ap-south-1 (Asia Pacific - Mumbai)
17 | - ca-central-1 (Canda - Central)
18 | - eu-central-1 (Europe - Frankfurt)
19 | - eu-north-1 (Europe - Stockholm)
20 | - eu-west-1 (Europe - Ireland)
21 | - eu-west-2 (Europe - London)
22 | - eu-west-3 (Europe - Paris)
23 | - af-south-1 (Africa - Cape Town)
24 | - sa-east-1 (South America - São Paulo)
25 | - me-south-1 (Bahrain)
26 |
--------------------------------------------------------------------------------
/workshop/content/0-setup/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Setup"
3 | chapter = true
4 | weight = 2
5 | +++
6 |
7 | This section explains how to use or create an AWS account for the workshop, which AWS Regions you can use, and how to set up the AWS Cloud9 IDE used to complete the modules.
--------------------------------------------------------------------------------
/workshop/content/1-staticwebhosting/1-overview/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Overview"
3 | weight = 1
4 | +++
5 |
6 | In this module you'll configure AWS Amplify Console to host the static resources for your web application. In subsequent modules you'll add dynamic functionality to these pages using JavaScript to call remote RESTful APIs built with AWS Lambda and Amazon API Gateway.
7 |
8 | ## Architecture Overview
9 |
10 | The architecture for this module is very straightforward. All of your static web content including HTML, CSS, JavaScript, images and other files will be managed by AWS Amplify Console and served via Amazon CloudFront. Your end users will then access your site using the public website URL exposed by AWS Amplify Console. You don't need to run any web servers or use other services in order to make your site available.
11 |
12 | 
13 |
14 | ## Implementation Instructions
15 |
16 | :heavy_exclamation_mark: Ensure you've completed the [setup guide][setup] before beginning
17 | the workshop.
18 |
19 | Each of the following sections provides an implementation overview and detailed, step-by-step instructions. The overview should provide enough context for you to complete the implementation if you're already familiar with the AWS Management Console or you want to explore the services yourself without following a walkthrough.
20 |
21 | [setup]: /0-setup
22 |
--------------------------------------------------------------------------------
/workshop/content/1-staticwebhosting/2-region/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Region"
3 | weight = 2
4 | +++
5 |
6 | ## Region Selection
7 |
8 | This workshop step can be deployed in any AWS region that supports the following services:
9 | - AWS Cognito
10 | - AWS Amplify Console
11 | - AWS CodeCommit
12 |
13 | You can refer to the [AWS region table][region-services] in the AWS documentation to see which regions have the supported services.
14 |
15 | Once you've chosen a region, you should deploy all of the resources for this workshop there. Make sure you select your region from the drop down in the upper right corner of the AWS Console before getting started.
16 |
17 | 
18 |
19 | [region-services]: https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/
20 |
--------------------------------------------------------------------------------
/workshop/content/1-staticwebhosting/5-modify/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Modify"
3 | weight = 5
4 | +++
5 |
6 | ## Modify the website
7 | The AWS Amplify Console will rebuild and redeploy the app when it detects changes to the connected repository. Make a change to the main page to test out this process.
8 |
9 | 1. From your Cloud9 environment open the ```index.html``` file in the `/wild-rydes/public/` directory of the repository.
10 | 1. Modify the title line:
11 | ```
12 | wildrydes
13 | ```
14 | So that it says:
15 | ```
16 | Wild Rydes - Rydes of the Future!
17 | ```
18 | Save the file
19 | 1. Commit again to your git repository the changes:
20 | ```
21 | git add .
22 |
23 | git commit -m "updated title"
24 |
25 | git push
26 | ```
27 | Amplify Console will begin to build the site again soon after it notices the update to the repository. This happens pretty quickly! Head back to the [Amplify Console][amplify-console] to watch the process.
28 |
29 | 1. Once completed, re-open the Wild Rydes site and notice the title change.
30 |
31 | 
32 |
33 | [amplify-console]: https://console.aws.amazon.com/amplify/home
34 |
35 |
36 | ### Recap
37 |
38 | AWS Amplify Console makes it easy to deploy static websites with continuous integration and continuous delivery. It is capable of building more complicated JavaScript framework-based applications and shows you a preview of your application as it renders on popular mobile platforms.
39 |
40 | In this module, you've created a static website which will be the base for our Wild Rydes business.
41 |
42 | ### Next
43 |
44 | Proceed to the next module, [User Management][user-management],
45 | where you'll configure Amazon Cognito User Pool with the AWS Amplify CLI to manage our application's users.
46 |
47 | [user-management]: /2-usermanagement
--------------------------------------------------------------------------------
/workshop/content/1-staticwebhosting/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Static Web Hosting"
3 | chapter = true
4 | weight = 3
5 | +++
6 |
7 |
8 | This section explains the frontend structure. You’ll deploy the static website using AWS Amplify Console by first creating a git repository (in either CodeCommit or GitHub) and then pushing the site code.
--------------------------------------------------------------------------------
/workshop/content/2-usermanagement/2-amplify-CLI/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Amplify CLI"
3 | weight = 2
4 | +++
5 |
6 | ## Initialize AWS Amplify CLI
7 |
8 | #### Background
9 |
10 | The [AWS Amplify Command Line Interface][aws-amplify-cli] (CLI) is a unified toolchain to create, integrate, and manage the AWS cloud services for your app. The Amplify CLI toolchain is designed to work with the Amplify JavaScript library as well as the AWS Mobile SDKs for iOS and Android.
11 |
12 | AWS Amplify Authentication module provides Authentication APIs and building blocks for developers who want to create user authentication experiences.
13 |
14 | 1. Install the Amplify CLI by running the following command from within your Cloud9 terminal window:
15 | ```bash
16 | npm install -g @aws-amplify/cli
17 | ```
18 | More information can be found in the documention [here][amplify-install-cli]
19 |
20 | 2. Configure your default AWS profile.
21 |
22 | ```bash
23 | echo '[profile default]' > ~/.aws/config
24 | ```
25 |
26 | 3. Make sure you are in the root `wild-rydes` directory of the repository:
27 |
28 | 4. Initialize amplify CLI by executing the following command:
29 | ```
30 | amplify init
31 | ```
32 |
33 | The terminal will now take a few moments to initialize your project:
34 |
35 | {{% notice note %}}
36 | Be sure to provide the same environment name that you provided earlier, for example, **prod**.
37 | {{% /notice %}}
38 |
39 | 
40 |
41 | Verify that the initialization has finished by entering the following command. Version 4.29.3 or greater should be installed.
42 |
43 | ```
44 | amplify version
45 | ```
46 |
47 | Next you will add an Amazon Cognito category to your AWS Amplify configuration, via the AWS Amplify CLI.
48 |
49 | [amplify-install-cli]: https://github.com/aws-amplify/amplify-cli#install-the-cli
50 | [aws-amplify-cli]: https://github.com/aws-amplify/amplify-cli
51 |
--------------------------------------------------------------------------------
/workshop/content/2-usermanagement/4-appclient/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "App Client"
3 | weight = 4
4 | +++
5 |
6 | ## Check Your User Pool's App Client
7 |
8 | A Cognito Userpool and a new App client has been created by the AWS Amplify build. Let’s take a look at this app client.
9 |
10 | 1. Go to the [Amazon Cognito Console][cognito-console]
11 | 2. Choose **Manage User Pools**.
12 |
13 | Here you will see a new userpool generated by the AWS Amplify CLI that looks something similar to the example below:
14 | 
15 | 3. **Click** the new user pool to open the Pool Details page
16 | 4. From the Pool Details page, select **App clients** from the **General settings** section in the left navigation bar.
17 | 5. You will see that a new App client has been generated. Your web application is configured to use this App client via a config file located in `wild-rydes/src/aws-exports.js`.
18 |
19 | #### How it Works:
20 | Rather than configuring each service through a constructor or constants file, Amplify supports configuration through a centralized file called aws-exports.js which defines all the regions and service endpoints to communicate. Whenever you run `amplify push` or rebuild your web application by running a `git commit`, this file is automatically created, allowing you to focus on your application code. The Amplify CLI places this file in the appropriate source directory configured with amplify init.
21 |
22 | :heavy_exclamation_mark: You won't see updates to this file in your local file store because it is included in the _.gitignore_ file.
23 |
24 | [cognito-console]: https://console.aws.amazon.com/cognito/home
25 |
--------------------------------------------------------------------------------
/workshop/content/2-usermanagement/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "User Management"
3 | weight = 4
4 | chapter = true
5 | +++
6 |
7 | This section explains how to create users. You’ll configure user management for the website using Amazon Cognito.
--------------------------------------------------------------------------------
/workshop/content/3-serverlessbackend/1-overview/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Overview"
3 | weight = 1
4 | +++
5 |
6 | In this module you'll use [AWS Lambda][lambda] and [Amazon DynamoDB][dynamodb] to build a backend process for handling requests from your web application. The browser application that you deployed in the first module allows users to request that a unicorn be sent to a location of their choice. In order to fulfill those requests, the JavaScript running in the browser invokes a service running in the cloud.
7 |
8 | You'll implement a Lambda function that will be invoked each time a user requests a unicorn. The function selects a unicorn from the fleet, records the request in a DynamoDB table, and responds to the front-end application with details about the dispatched unicorn.
9 |
10 | 
11 |
12 | The function is invoked from the browser using [Amazon API Gateway][api-gw]. You implement that connection in the next module. For this module, you test your function in isolation.
13 |
14 | ## Implementation Instructions
15 |
16 | :heavy_exclamation_mark: Ensure you've completed the [User Management][user-management] step before beginning this module.
17 |
18 | Each of the following sections provides an implementation overview and detailed, step-by-step instructions. The overview should provide enough context for you to complete the implementation if you're already familiar with the AWS Management Console or if you want to explore the services yourself without following a walkthrough.
19 |
20 | [api-gw]: https://aws.amazon.com/api-gateway/
21 | [dynamodb]: https://aws.amazon.com/dynamodb/
22 | [lambda]: https://aws.amazon.com/lambda/
23 | [user-management]: /2-usermanagement
24 |
--------------------------------------------------------------------------------
/workshop/content/3-serverlessbackend/2-dynamodb/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "DynamoDB"
3 | weight = 2
4 | +++
5 |
6 | ## Create an Amazon DynamoDB Table
7 |
8 | Use the [Amazon DynamoDB Console][dynamodb-console] to create a new [DynamoDB][dynamodb] table. Call your table `Rides` and give it a partition key called `RideId` with type String. The table name and partition key are case sensitive. Make sure you use the exact IDs provided. Use the defaults for all other settings.
9 |
10 | After you've created the table, record the ARN for use in the next step.
11 |
12 | 1. Go to the [Amazon DynamoDB Console][dynamodb-console]
13 | 2. Choose **Create table**.
14 | 3. Enter `Rides` for the **Table name**. This field is case sensitive.
15 | 4. Enter `RideId` for the **Partition key** and select **String** for the key type. This field is case sensitive.
16 | 5. Choose the **Default settings** button for Table settings and choose **Create table**.
17 | 
18 | 6. Once the table is Active, Click on “Rides” to open the table settings and under Overview > General information > Additional info section, you will find the **ARN** of the table. Record this ARN as you will use this in the next section.
19 |
20 | [dynamodb]: https://aws.amazon.com/dynamodb
21 | [dynamodb-console]: https://console.aws.amazon.com/dynamodb/home
22 |
--------------------------------------------------------------------------------
/workshop/content/3-serverlessbackend/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Serverless Backend"
3 | weight = 5
4 | chapter = true
5 | +++
6 |
7 | This section explains how to create an AWS Lambda function that will persist data to an Amazon DynamoDB table.
--------------------------------------------------------------------------------
/workshop/content/4-restfulapis/2-restapi/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "REST API"
3 | weight = 2
4 | +++
5 |
6 | ## Create a New REST API
7 | Use the Amazon API Gateway console to create a new API named `WildRydes`.
8 |
9 | 1. Go to the [Amazon API Gateway Console][api-gw-console], click **Create API**
10 | 2. On the **REST API** card, choose **Build**.
11 | 3. In the section Create new API select **New API** to clear the example API definition.
12 | 4. Enter `WildRydes` for the **API Name**.
13 | 5. Select `Regional` from the **Endpoint Type** dropdown.
14 | {{% notice note %}}
15 | Edge optimized APIs are best for public services being accessed from the Internet. Regional endpoints are typically used for APIs that are accessed primarily from within the same AWS Region. Private APIs are for internal services inside of an Amazon VPC.
16 | {{% /notice %}}
17 | 6. Choose **Create API**
18 |
19 | 
20 |
21 | [api-gw-console]: https://console.aws.amazon.com/apigateway/home
22 |
--------------------------------------------------------------------------------
/workshop/content/4-restfulapis/4-resource/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "API Resource"
3 | weight = 4
4 | +++
5 |
6 | ## Create a new resource and method
7 | Create a new resource called _/ride_ within your API. Then create a _POST_ method for that resource and configure it to use a Lambda proxy integration backed by the _RequestUnicorn_ function you created in the first step of this module.
8 |
9 | 1. In the left nav, click on **Resources** under your WildRydes API.
10 | 2. From the **Actions** dropdown select **Create Resource**.
11 | 3. Enter `ride` as the **Resource Name**.
12 | 4. Ensure the **Resource Path** is set to `ride`.
13 | 5. Select **Enable API Gateway CORS** for the resource.
14 | 6. Choose **Create Resource**.
15 |
16 | 
17 |
18 | 7. With the newly created `/ride` resource selected, from the **Action** dropdown select **Create Method**.
19 | 8. Select `POST` from the new dropdown that appears, then **click the checkmark**.
20 |
21 | 
22 | 9. Select **Lambda Function** for the integration type.
23 | 10. Check the box for **Use Lambda Proxy integration**.
24 | 11. Select the Region you are using for **Lambda Region**.
25 | 12. Enter the name of the function you created in the previous module, `RequestUnicorn`, for **Lambda Function**.
26 | 13. Choose **Save**. Please note, if you get an error that you function does not exist, check that the region you selected matches the one you used in the previous module.
27 |
28 | 
29 |
30 | 14. When prompted to give Amazon API Gateway permission to invoke your function, choose **OK**.
31 | 15. Select the **Method Request** card.
32 | 16. Choose the pencil icon next to **Authorization**.
33 | 17. Select the WildRydes Cognito user pool authorizer from the drop-down list, and click the checkmark icon.
34 |
35 | 
36 |
--------------------------------------------------------------------------------
/workshop/content/4-restfulapis/5-deploy/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Deploy"
3 | weight = 5
4 | +++
5 |
6 | ## Deploy Your API
7 | From the Amazon API Gateway console, choose Actions, Deploy API. You'll be prompted to create a new stage. You can use prod for the stage name.
8 |
9 | 1. In the **Actions** drop-down list select **Deploy API**.
10 | 2. Select **[New Stage]** in the **Deployment stage** drop-down list.
11 | 3. Enter `prod` for the **Stage Name**.
12 | 4. Choose **Deploy**.
13 | 5. Record the **Invoke URL**. You will use it in the next section.
14 |
15 | 
--------------------------------------------------------------------------------
/workshop/content/4-restfulapis/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "RESTful APIs"
3 | weight = 6
4 | chapter = true
5 | +++
6 |
7 | This section explains how to expose the Lambda function via an Amazon API Gateway as a RESTful API that the static website can call.
--------------------------------------------------------------------------------
/workshop/content/5-cleanup/1-overview/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Overview"
3 | weight = 10
4 | +++
5 |
6 | This page provides instructions for cleaning up the resources created during the preceding modules.
7 |
--------------------------------------------------------------------------------
/workshop/content/5-cleanup/2-restfulapi/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "REST API Cleanup"
3 | weight = 20
4 | +++
5 |
6 | ## REST API Cleanup
7 | Delete the REST API created in RESTful APIs step. There is a **Delete API** option in the **Actions** drop-down when you select your API in the Amazon API Gateway Console.
8 |
9 | 1. Go to the [Amazon API Gateway Console][api-gw-console]
10 | 2. Select the API you created in RESTful APIs step.
11 | 3. Expand the **Actions** drop-down and choose **Delete API**.
12 | 4. Enter the name of your API when prompted and choose **Delete API**.
13 |
14 | [api-gw-console]: https://console.aws.amazon.com/apigateway/home
15 |
--------------------------------------------------------------------------------
/workshop/content/5-cleanup/3-backend/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Backend Cleanup"
3 | weight = 30
4 | +++
5 |
6 | ## Serverless Backend Cleanup
7 | Delete the AWS Lambda function, IAM role and Amazon DynamoDB table you created in module 3.
8 |
9 | #### Lambda Function
10 |
11 | 1. Go to the [AWS Lambda console][lambda-console]
12 | 2. Select the `RequestUnicorn` function you created.
13 | 3. From the **Actions** drop-down, choose **Delete**.
14 | 4. Choose **Delete** when prompted to confirm.
15 |
16 | #### IAM Role
17 |
18 | 1. Go to the [AWS IAM Console][iam-console]
19 | 2. Select **Roles** from the navigation menu.
20 | 3. Type `WildRydesLambda` into the filter box and select the role you created.
21 | 4. On the top right, click on the **Delete** button.
22 | 5. Reenter role name and click **Delete** when prompted to confirm.
23 |
24 | #### DynamoDB Table
25 |
26 | 1. Go to the [Amazon DynamoDB Console][dynamodb-console]
27 | 2. Choose **Tables** in the navigation menu.
28 | 3. Choose the **Rides** table.
29 | 4. Choose **Delete table** from the **Actions** drop-down.
30 | 5. Leave the checkbox to **Delete all CloudWatch alarms for this table** selected and choose **Delete**.
31 |
32 | [dynamodb-console]: https://console.aws.amazon.com/dynamodb/home
33 | [iam-console]: https://console.aws.amazon.com/iam/home
34 | [lambda-console]: https://console.aws.amazon.com/lambda/home
35 |
--------------------------------------------------------------------------------
/workshop/content/5-cleanup/4-usermgmt/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "User Management Cleanup"
3 | weight = 40
4 | +++
5 |
6 | ## User Management Cleanup
7 | Delete the Amazon Cognito User Pool
8 |
9 | 1. Go to the [Amazon Cognito Console][cognito-console]
10 | 2. Choose **Manage your User Pools**.
11 | 3. Select the **WildRydes** user pool you created.
12 | 4. Choose **Delete Pool** in the upper right corner of the page.
13 | 5. Complete the application deletion process.
14 |
15 | [cognito-console]: https://console.aws.amazon.com/cognito/home
16 |
--------------------------------------------------------------------------------
/workshop/content/5-cleanup/5-frontend/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Web Application Cleanup"
3 | weight = 50
4 | +++
5 |
6 | ## Web Application Cleanup
7 | Delete the AWS Amplify Console application and optionally the AWS CodeCommit or GitHub repository created:
8 |
9 | #### For the Amplify Console web application:
10 |
11 | 1. Launch the [Amplify Console console page][amplify-console-console].
12 | 2. Select the application you launched today.
13 | 3. From **Actions** in the top right corner, select *Delete App*
14 | 4. Complete the application deletion process.
15 |
16 | #### For the IAM Role:
17 |
18 | 1. Go to the [AWS IAM Console][iam-console]
19 | 2. Select **Roles** from the navigation menu.
20 | 3. Type `wildrydes-backend-role` into the filter box and select the role.
21 | 4. On the top right, click on the **Delete role** button.
22 | 5. Reenter role name and click **Delete** when prompted to confirm.
23 |
24 | #### For the CodeCommit repository:
25 |
26 | 1. Open the [AWS CodeCommit console][codecommit-console]
27 | 2. Select the radio button next to the repository created today.
28 | 3. Select **Delete repository** from the upper right of the page.
29 | 4. Complete the repository deletion process.
30 |
31 | [amplify-console-console]: https://console.aws.amazon.com/amplify/home
32 | [iam-console]: https://console.aws.amazon.com/iam/home
33 | [codecommit-console]: https://console.aws.amazon.com/codesuite/codecommit/repositories
34 |
--------------------------------------------------------------------------------
/workshop/content/5-cleanup/6-cloud9/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Cloud9 Cleanup"
3 | weight = 60
4 | +++
5 |
6 | ## Cloud9 Cleanup
7 | Delete the Cloud9 Development environment created today.
8 |
9 | 1. Launch the [Cloud9 console page][cloud9-console].
10 | 2. Select the environment you launched today.
11 | 3. From the top navigation, select **Delete**
12 | 4. Complete the application deletion process.
13 |
14 | [cloud9-console]: https://console.aws.amazon.com/cloud9/home
--------------------------------------------------------------------------------
/workshop/content/5-cleanup/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Cleanup"
3 | weight = 60
4 | chapter = true
5 | +++
6 |
7 | Once you have finished with the workshop, delete the associated resources to prevent incurring ongoing charges in your AWS account.
--------------------------------------------------------------------------------
/workshop/content/6-postworkshop/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "After the workshop"
3 | chapter = true
4 | weight = 91
5 | +++
6 |
7 | ## Thanks for joining today! ##
8 |
9 | This workshop shows how you can build highly scalable web applications using serverless technology. You can also use a serverless approach for a range of other workloads, such as:
10 |
11 | - Data processing
12 | - Web applications
13 | - Backend systems
14 | - IT management
15 | - Chatbots and Alexa skills
16 |
17 | This workshop is just the beginning. Learn more about what you can build with serverless at [Serverless Land](https://serverlessland.com).
18 |
19 | ## Need help? ##
20 |
21 | This workshop is built and managed by the AWS Serverless Developer Advocate team. [Follow us on Twitter](https://twitter.com/i/lists/1291800104777551872).
--------------------------------------------------------------------------------
/workshop/content/7-report/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Bug/feature request"
3 | chapter = true
4 | weight = 92
5 | +++
6 |
7 | ## Have an idea for this workshop? Found a bug? ##
8 |
9 | If you have an idea for a module or feature in this workshop, or you have found a bug or need to report a problem, let us know!
10 |
11 | {{% button href="https://github.com/aws-samples/aws-serverless-webapp-workshop/issues/new" icon="fas fa-lightbulb" %}}Request a feature{{% /button %}}
12 | {{% button href="https://github.com/aws-samples/aws-serverless-webapp-workshop/issues/new" icon="fas fa-bug" %}}Report an issue{{% /button %}}
13 |
14 |
15 |
--------------------------------------------------------------------------------
/workshop/content/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Welcome to Wild Rydes Workshop!"
3 | chapter = true
4 | weight = 1
5 | +++
6 |
7 | 
8 |
9 | In this workshop, you will deploy a completely [serverless](https://aws.amazon.com/serverless/) web application built with AWS services. You can follow this workshop at your own pace using the instructions in this repo or attend a session at an AWS event where it is run.
10 |
11 | If you're attending this workshop at an AWS event, your instructor will provide an overview of the steps involved. There are AWS employees available to help with any of your questions - don't be afraid to ask if you get stuck!
12 |
13 | To get started, follow the module headings on the left, starting with [Introduction](./0-introduction).
--------------------------------------------------------------------------------
/workshop/static/images/API-invokeURL.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/API-invokeURL.png
--------------------------------------------------------------------------------
/workshop/static/images/amplify-auth-add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/amplify-auth-add.png
--------------------------------------------------------------------------------
/workshop/static/images/amplify-backend-role.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/amplify-backend-role.png
--------------------------------------------------------------------------------
/workshop/static/images/amplify-build-config.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/amplify-build-config.png
--------------------------------------------------------------------------------
/workshop/static/images/amplify-create-role.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/amplify-create-role.png
--------------------------------------------------------------------------------
/workshop/static/images/amplify-deploy-status.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/amplify-deploy-status.png
--------------------------------------------------------------------------------
/workshop/static/images/amplify-init.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/amplify-init.png
--------------------------------------------------------------------------------
/workshop/static/images/amplifyConsole-setup.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/amplifyConsole-setup.png
--------------------------------------------------------------------------------
/workshop/static/images/api-authorizer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/api-authorizer.png
--------------------------------------------------------------------------------
/workshop/static/images/api-integration-setup.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/api-integration-setup.png
--------------------------------------------------------------------------------
/workshop/static/images/apigateway-test-authorizer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/apigateway-test-authorizer.png
--------------------------------------------------------------------------------
/workshop/static/images/authentication-architecture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/authentication-architecture.png
--------------------------------------------------------------------------------
/workshop/static/images/c9-step3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/c9-step3.png
--------------------------------------------------------------------------------
/workshop/static/images/c9-step4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/c9-step4.png
--------------------------------------------------------------------------------
/workshop/static/images/c9-step5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/c9-step5.png
--------------------------------------------------------------------------------
/workshop/static/images/c9-step6-b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/c9-step6-b.png
--------------------------------------------------------------------------------
/workshop/static/images/c9-step7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/c9-step7.png
--------------------------------------------------------------------------------
/workshop/static/images/cognito-userpool-screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/cognito-userpool-screenshot.png
--------------------------------------------------------------------------------
/workshop/static/images/configure-test-event.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/configure-test-event.png
--------------------------------------------------------------------------------
/workshop/static/images/create-a-user-pool.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/create-a-user-pool.png
--------------------------------------------------------------------------------
/workshop/static/images/create-api.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/create-api.png
--------------------------------------------------------------------------------
/workshop/static/images/create-inline-policy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/create-inline-policy.png
--------------------------------------------------------------------------------
/workshop/static/images/create-lambda-function-code.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/create-lambda-function-code.png
--------------------------------------------------------------------------------
/workshop/static/images/create-lambda-function.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/create-lambda-function.png
--------------------------------------------------------------------------------
/workshop/static/images/create-lambda-role.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/create-lambda-role.png
--------------------------------------------------------------------------------
/workshop/static/images/create-method.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/create-method.png
--------------------------------------------------------------------------------
/workshop/static/images/create-resource.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/create-resource.png
--------------------------------------------------------------------------------
/workshop/static/images/create-user-pool-authorizer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/create-user-pool-authorizer.png
--------------------------------------------------------------------------------
/workshop/static/images/ddb-create-table.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/ddb-create-table.png
--------------------------------------------------------------------------------
/workshop/static/images/event-engine-step-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/event-engine-step-1.png
--------------------------------------------------------------------------------
/workshop/static/images/event-engine-step-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/event-engine-step-2.png
--------------------------------------------------------------------------------
/workshop/static/images/event-engine-step-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/event-engine-step-3.png
--------------------------------------------------------------------------------
/workshop/static/images/event-engine-step-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/event-engine-step-4.png
--------------------------------------------------------------------------------
/workshop/static/images/event-engine-step-5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/event-engine-step-5.png
--------------------------------------------------------------------------------
/workshop/static/images/event-engine-step-6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/event-engine-step-6.png
--------------------------------------------------------------------------------
/workshop/static/images/execution-success.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/execution-success.png
--------------------------------------------------------------------------------
/workshop/static/images/region-selection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/region-selection.png
--------------------------------------------------------------------------------
/workshop/static/images/restful-api-architecture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/restful-api-architecture.png
--------------------------------------------------------------------------------
/workshop/static/images/review-policy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/review-policy.png
--------------------------------------------------------------------------------
/workshop/static/images/select-policy-service.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/select-policy-service.png
--------------------------------------------------------------------------------
/workshop/static/images/serverless-backend-architecture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/serverless-backend-architecture.png
--------------------------------------------------------------------------------
/workshop/static/images/static-website-architecture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/static-website-architecture.png
--------------------------------------------------------------------------------
/workshop/static/images/successful-login.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/successful-login.png
--------------------------------------------------------------------------------
/workshop/static/images/title-update.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/title-update.png
--------------------------------------------------------------------------------
/workshop/static/images/user-pool-unicorn-signup.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/user-pool-unicorn-signup.png
--------------------------------------------------------------------------------
/workshop/static/images/wildrydes-complete-architecture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/wildrydes-complete-architecture.png
--------------------------------------------------------------------------------
/workshop/static/images/wildrydes-diagrams.graffle/data.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/wildrydes-diagrams.graffle/data.plist
--------------------------------------------------------------------------------
/workshop/static/images/wildrydes-diagrams.graffle/image1.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/wildrydes-diagrams.graffle/image1.pdf
--------------------------------------------------------------------------------
/workshop/static/images/wildrydes-diagrams.graffle/image10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/wildrydes-diagrams.graffle/image10.png
--------------------------------------------------------------------------------
/workshop/static/images/wildrydes-diagrams.graffle/image11.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/wildrydes-diagrams.graffle/image11.pdf
--------------------------------------------------------------------------------
/workshop/static/images/wildrydes-diagrams.graffle/image12.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/wildrydes-diagrams.graffle/image12.pdf
--------------------------------------------------------------------------------
/workshop/static/images/wildrydes-diagrams.graffle/image13.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/wildrydes-diagrams.graffle/image13.tiff
--------------------------------------------------------------------------------
/workshop/static/images/wildrydes-diagrams.graffle/image2.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/wildrydes-diagrams.graffle/image2.pdf
--------------------------------------------------------------------------------
/workshop/static/images/wildrydes-diagrams.graffle/image3.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/wildrydes-diagrams.graffle/image3.pdf
--------------------------------------------------------------------------------
/workshop/static/images/wildrydes-diagrams.graffle/image4.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/wildrydes-diagrams.graffle/image4.pdf
--------------------------------------------------------------------------------
/workshop/static/images/wildrydes-diagrams.graffle/image5.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/wildrydes-diagrams.graffle/image5.pdf
--------------------------------------------------------------------------------
/workshop/static/images/wildrydes-diagrams.graffle/image6.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/wildrydes-diagrams.graffle/image6.pdf
--------------------------------------------------------------------------------
/workshop/static/images/wildrydes-diagrams.graffle/image7.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/wildrydes-diagrams.graffle/image7.pdf
--------------------------------------------------------------------------------
/workshop/static/images/wildrydes-diagrams.graffle/image8.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/wildrydes-diagrams.graffle/image8.pdf
--------------------------------------------------------------------------------
/workshop/static/images/wildrydes-diagrams.graffle/image9.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/wildrydes-diagrams.graffle/image9.pdf
--------------------------------------------------------------------------------
/workshop/static/images/wildrydes-homepage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/static/images/wildrydes-homepage.png
--------------------------------------------------------------------------------
/workshop/themes/learn/.editorconfig:
--------------------------------------------------------------------------------
1 | # https://editorconfig.org
2 |
3 | root = true
4 |
5 | [*]
6 | charset = utf-8
7 | end_of_line = lf
8 | indent_size = 2
9 | indent_style = space
10 | trim_trailing_whitespace = true
11 |
12 | [*.js]
13 | insert_final_newline = true
14 |
15 | [*.md]
16 | trim_trailing_whitespace = false
17 |
--------------------------------------------------------------------------------
/workshop/themes/learn/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | public/
3 | exampleSite/public
4 |
--------------------------------------------------------------------------------
/workshop/themes/learn/.grenrc.yml:
--------------------------------------------------------------------------------
1 | ---
2 | dataSource: "prs"
3 | prefix: "v"
4 | onlyMilestones: false
5 | changelogFilename: "CHANGELOG.md"
6 | includeMessages: "all"
7 | ignoreIssuesWith:
8 | - "support"
9 | ignoreLabels:
10 | - "duplicate"
11 | - "invalid"
12 | - "wontfix"
13 | groupBy:
14 | New features:
15 | - "feature"
16 | Bug Fixes:
17 | - "bug"
18 | Enhancements:
19 | - "enhancement"
20 | Internationalisation:
21 | - "i18n"
22 | Theme Meta:
23 | - "meta"
24 | Uncategorised:
25 | - "closed"
26 |
--------------------------------------------------------------------------------
/workshop/themes/learn/LICENSE.md:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2014 Grav
4 | Copyright (c) 2016 MATHIEU CORNIC
5 | Copyright (c) 2017 Valere JEANTET
6 |
7 | Permission is hereby granted, free of charge, to any person obtaining a copy of
8 | this software and associated documentation files (the "Software"), to deal in
9 | the Software without restriction, including without limitation the rights to
10 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
11 | the Software, and to permit persons to whom the Software is furnished to do so,
12 | subject to the following conditions:
13 |
14 | The above copyright notice and this permission notice shall be included in all
15 | copies or substantial portions of the Software.
16 |
17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
19 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
20 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
21 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
22 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 |
--------------------------------------------------------------------------------
/workshop/themes/learn/archetypes/chapter.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "{{ replace .Name "-" " " | title }}"
3 | date = {{ .Date }}
4 | weight = 5
5 | chapter = true
6 | pre = "X. "
7 | +++
8 |
9 | Lorem Ipsum.
--------------------------------------------------------------------------------
/workshop/themes/learn/archetypes/default.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "{{ replace .Name "-" " " | title }}"
3 | date = {{ .Date }}
4 | weight = 5
5 | +++
6 |
7 | Lorem Ipsum.
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/LICENSE.md:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2016 MATHIEU CORNIC
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of
6 | this software and associated documentation files (the "Software"), to deal in
7 | the Software without restriction, including without limitation the rights to
8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9 | the Software, and to permit persons to whom the Software is furnished to do so,
10 | subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 |
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/basics/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Basics
3 | weight: 5
4 | pre: "1. "
5 | chapter: true
6 | ---
7 |
8 | ### Chapter 1
9 |
10 | # Basics
11 |
12 | Discover what this Hugo theme is all about and the core-concepts behind it.
13 |
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/basics/_index.fr.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Démarrage
3 | weight: 5
4 | pre: "1. "
5 | chapter: true
6 | ---
7 |
8 | ### Chapitre 1
9 |
10 | # Démarrage
11 |
12 | Découvrez comment utiliser ce thème Hugo et apprenez-en les concepts
13 |
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/basics/installation/images/chapter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/themes/learn/exampleSite/content/basics/installation/images/chapter.png
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/basics/requirements/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Requirements
3 | weight: 10
4 | disableToc: true
5 | ---
6 |
7 | Thanks to the simplicity of Hugo, this page is as empty as this theme needs requirements.
8 |
9 | Just download latest version of [Hugo binary (> 0.25)](https://gohugo.io/getting-started/installing/) for your OS (Windows, Linux, Mac) : it's that simple.
10 |
11 | 
12 |
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/basics/requirements/_index.fr.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Prérequis
3 | weight: 10
4 | disableToc: true
5 | ---
6 |
7 | Grâce à la simplicité d'Hugo, cette page est vide car il n'y a quasi pas de prérequis pour utiliser le thème.
8 |
9 | Téléchargez la dernière version du [binaire Hugo (> 0.25)](https://gohugo.io/getting-started/installing/) pour votre Système d'exploitation (Windows, Linux, Mac) : et c'est tout !
10 |
11 | 
12 |
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/basics/requirements/images/magic.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/themes/learn/exampleSite/content/basics/requirements/images/magic.gif
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/basics/style-customization/images/blue-variant.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/themes/learn/exampleSite/content/basics/style-customization/images/blue-variant.png
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/basics/style-customization/images/green-variant.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/themes/learn/exampleSite/content/basics/style-customization/images/green-variant.png
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/basics/style-customization/images/red-variant.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/themes/learn/exampleSite/content/basics/style-customization/images/red-variant.png
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/cont/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Content
3 | weight: 10
4 | chapter: true
5 | pre: "2. "
6 | ---
7 |
8 | ### Chapter 2
9 |
10 | # Content
11 |
12 | Find out how to create and organize your content quickly and intuitively.
13 |
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/cont/_index.fr.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Contenu
3 | weight: 10
4 | chapter: true
5 | pre: "2. "
6 | ---
7 |
8 | ### Chapitre 2
9 |
10 | # Contenu
11 |
12 | Découvrez comment créer et organiser votre contenu facilement et intuitivement.
13 |
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/cont/archetypes.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Archetypes
3 | weight: 10
4 | ---
5 |
6 | Using the command: `hugo new [relative new content path]`, you can start a content file with the date and title automatically set. While this is a welcome feature, active writers need more : [archetypes](https://gohugo.io/content/archetypes/).
7 |
8 | It is pre-configured skeleton pages with default front matter. Please refer to the documentation for types of page to understand the differences.
9 |
10 | ## Chapter {#archetypes-chapter}
11 |
12 | To create a Chapter page, run the following commands
13 |
14 | ```
15 | hugo new --kind chapter /_index.md
16 | ```
17 |
18 | It will create a page with predefined Front-Matter:
19 |
20 | ```markdown
21 | +++
22 | title = "{{ replace .Name "-" " " | title }}"
23 | date = {{ .Date }}
24 | weight = 5
25 | chapter = true
26 | pre = "X. "
27 | +++
28 |
29 | ### Chapter X
30 |
31 | # Some Chapter title
32 |
33 | Lorem Ipsum.
34 | ```
35 |
36 | ## Default
37 |
38 | To create a default page, run either one of the following commands
39 |
40 | ```
41 | # Either
42 | hugo new //_index.md
43 | # Or
44 | hugo new /.md
45 | ```
46 |
47 | It will create a page with predefined Front-Matter:
48 |
49 | ```markdown
50 | +++
51 | title = "{{ replace .Name "-" " " | title }}"
52 | date = {{ .Date }}
53 | weight = 5
54 | +++
55 |
56 | Lorem Ipsum.
57 | ```
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/cont/archetypes.fr.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Archétypes
3 | weight: 10
4 | ---
5 |
6 | En utilisant la commande: `hugo new [chemin vers nouveau contenu]`, vous pouvez créer un nouveau fichier avec la date et le title automatiquement initialisé. Même si c'est une fonctionnalité intéressante, elle reste limitée pour les auteurs actifs qui ont besoin de mieux : les [archetypes](https://gohugo.io/content/archetypes/).
7 |
8 | Les archétypes sont des squelettes de pages préconfigurées avec un Front Matter par défaut. Merci de vous référer à la documentation pour connaitre les différents types de page.
9 |
10 | ## Chapitre {#archetypes-chapter}
11 |
12 | Pour créer un chapitre, lancez les commandes suivantes
13 |
14 | ```
15 | hugo new --kind chapter /_index.md
16 | ```
17 |
18 | Cela crééra une page avec le Front Matter suivant:
19 |
20 | ```markdown
21 | +++
22 | title = "{{ replace .Name "-" " " | title }}"
23 | date = {{ .Date }}
24 | weight = 5
25 | chapter = true
26 | pre = "X. "
27 | +++
28 |
29 | ### Chapter X
30 |
31 | # Some Chapter title
32 |
33 | Lorem Ipsum.
34 | ```
35 |
36 | ## Défaut
37 |
38 | Pour créer une page classique, lancer l'une des deux commandes suivantes
39 |
40 | ```
41 | # Soit
42 | hugo new //_index.md
43 | # Ou
44 | hugo new /.md
45 | ```
46 |
47 | Cela crééra une page avec le Front Matter suivant:
48 |
49 | ```markdown
50 | +++
51 | title = "{{ replace .Name "-" " " | title }}"
52 | date = {{ .Date }}
53 | weight = 5
54 | +++
55 |
56 | Lorem Ipsum.
57 | ```
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/cont/i18n/images/i18n-menu.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/themes/learn/exampleSite/content/cont/i18n/images/i18n-menu.gif
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/cont/icons.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Icons and logos
3 | weight: 27
4 | ---
5 |
6 | The Learn theme for Hugo loads the [**Font Awesome**](https://fontawesome.com) library, allowing you to easily display any icon or logo available in the Font Awesome free collection.
7 |
8 | ## Finding an icon
9 |
10 | Browse through the available icons in the [Font Awesome Gallery](https://fontawesome.com/icons?d=gallery&m=free). Notice that the **free** filter is enabled, as only the free icons are available by default.
11 |
12 | Once on the Font Awesome page for a specific icon, for example the page for the [heart](https://fontawesome.com/icons/heart?style=solid), copy the HTML reference and paste into the markdown content.
13 |
14 | The HTML to include the heart icon is:
15 |
16 | ```
17 |
18 | ```
19 |
20 | ## Including in markdown
21 |
22 | Paste the `` HTML into markup and Font Awesome will load the relevant icon.
23 |
24 | ```
25 | Built with from Grav and Hugo
26 | ```
27 |
28 | Which appears as
29 |
30 | Built with from Grav and Hugo
31 |
32 | ## Customising icons
33 |
34 | Font Awesome provides many ways to modify the icon
35 |
36 | * Change colour (by default the icon will inherit the parent colour)
37 | * Increase or decrease size
38 | * Rotate
39 | * Combine with other icons
40 |
41 | Check the full documentation on [web fonts with CSS](https://fontawesome.com/how-to-use/web-fonts-with-css) for more.
42 |
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/cont/pages/images/frontmatter-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/themes/learn/exampleSite/content/cont/pages/images/frontmatter-icon.png
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/cont/pages/images/pages-chapter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/themes/learn/exampleSite/content/cont/pages/images/pages-chapter.png
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/cont/pages/images/pages-default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/themes/learn/exampleSite/content/cont/pages/images/pages-default.png
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/cont/tags.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | date: 2018-11-29T08:41:44+01:00
3 | title: Tags
4 | weight: 40
5 | tags: ["documentation", "tutorial"]
6 | ---
7 |
8 | *Learn theme* support one default taxonomy of gohugo: the *tag* feature.
9 |
10 | ## Configuration
11 |
12 | Just add tags to any page:
13 |
14 | ```markdown
15 | ---
16 | date: 2018-11-29T08:41:44+01:00
17 | title: Theme tutorial
18 | weight: 15
19 | tags: ["tutorial", "theme"]
20 | ---
21 | ```
22 |
23 | ## Behavior
24 |
25 |
26 | The tags are displayed at the top of the page, in their insertion order.
27 |
28 | Each tag is a link to a *Taxonomy* page displaying all the articles with the given tag.
29 |
30 | ## List all the tags
31 |
32 | In the `config.toml` file you can add a shortcut to display all the tags
33 |
34 | ```toml
35 | [[menu.shortcuts]]
36 | name = " Tags"
37 | url = "/tags"
38 | weight = 30
39 | ```
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/cont/tags.fr.md:
--------------------------------------------------------------------------------
1 | ---
2 | date: 2018-11-29T08:41:44+01:00
3 | title: Tags
4 | weight: 40
5 | tags: ["documentation", "tutorial"]
6 | ---
7 |
8 |
9 | Le *thème Learn* supporte une des taxonomy par défaut de GoHugo : les tags.
10 |
11 | ## Configuration
12 |
13 | Il suffit d'ajouter un tableau de tags sur la page :
14 |
15 | ```markdown
16 | ---
17 | date: 2018-11-29T08:41:44+01:00
18 | title: Tutoriel pour le thème
19 | weight: 15
20 | tags: ["tutoriel", "theme"]
21 | ---
22 | ```
23 |
24 | ## Comportement
25 |
26 | Les tags sont affichés en haut de la page, dans l'ordre dans lequel ils ont été saisis.
27 |
28 | Chaque tag est un lien vers une page *Taxonomy*, qui affiche tous les article avec ce tag.
29 |
30 |
31 | ## Liste des tags
32 |
33 | Il est possible de rajouter un raccourci dans le fichier `config.toml` afin d'afficher une page listant tous les tags
34 |
35 | ```toml
36 | [[menu.shortcuts]]
37 | name = " Tags"
38 | url = "/tags"
39 | weight = 30
40 | ```
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/credits.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Credits
3 | disableToc: true
4 | ---
5 |
6 | ## Contributors
7 |
8 | Thanks to them for making Open Source Software a better place !
9 |
10 | {{% ghcontributors "https://api.github.com/repos/matcornic/hugo-theme-learn/contributors?per_page=100" %}}
11 |
12 | And a special thanks to [@vjeantet](https://github.com/vjeantet) for his work on [docdock](https://github.com/vjeantet/hugo-theme-docdock), a fork of hugo-theme-learn. v2.0.0 of this theme is inspired by his work.
13 |
14 | ## Packages and libraries
15 | * [mermaid](https://knsv.github.io/mermaid) - generation of diagram and flowchart from text in a similar manner as markdown
16 | * [font awesome](http://fontawesome.io/) - the iconic font and CSS framework
17 | * [jQuery](https://jquery.com) - The Write Less, Do More, JavaScript Library
18 | * [lunr](https://lunrjs.com) - Lunr enables you to provide a great search experience without the need for external, server-side, search services...
19 | * [horsey](https://bevacqua.github.io/horsey/) - Progressive and customizable autocomplete component
20 | * [clipboard.js](https://zenorocha.github.io/clipboard.js) - copy text to clipboard
21 | * [highlight.js](https://highlightjs.org) - Javascript syntax highlighter
22 | * [modernizr](https://modernizr.com) - A JavaScript toolkit that allows web developers to use new CSS3 and HTML5 features while maintaining a fine level of control over browsers that don't support
23 |
24 | ## Tooling
25 |
26 | * [Netlify](https://www.netlify.com) - Continuous deployement and hosting of this documentation
27 | * [Hugo](https://gohugo.io/)
28 |
29 |
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/credits.fr.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Crédits
3 | disableToc: true
4 | ---
5 |
6 | ## Contributeurs
7 |
8 | Merci à eux de rendre le monde Open Source meilleur !
9 |
10 | {{% ghcontributors "https://api.github.com/repos/matcornic/hugo-theme-learn/contributors?per_page=100" %}}
11 |
12 | Et un grand merci à [@vjeantet](https://github.com/vjeantet) pour son travail sur [docdock](https://github.com/vjeantet/hugo-theme-docdock), un fork de _hugo-theme-learn_. La v2.0.0 du thème est en grande partie inspirée de son travail.
13 |
14 | ## Packages et librairies
15 | * [mermaid](https://knsv.github.io/mermaid) - géneration de diagrames et graphiques à partir de texte similaire à Markdown
16 | * [font awesome](http://fontawesome.io/) - Le framework de polices iconiques
17 | * [jQuery](https://jquery.com) - La plus connue des librairies Javascript
18 | * [lunr](https://lunrjs.com) - Lunr fournit des fonctions de recherche sans service externe
19 | * [horsey](https://bevacqua.github.io/horsey/) - Autocomplétion de composants (utiliser pour les suggestions de recherche)
20 | * [clipboard.js](https://zenorocha.github.io/clipboard.js) - Copier le texte dans le presse-papier
21 | * [highlight.js](https://highlightjs.org) - Mise en valeur de syntaxes
22 | * [modernizr](https://modernizr.com) - Une boite à outil Javascript qui permet aux développeurs d'utiliser les dernières fonctionnalités de CSS et HTML5, même sur de vieux navigateurs.
23 |
24 | ## Outils
25 |
26 | * [Netlify](https://www.netlify.com) - Déploiement continue et hébergement de cette documentation
27 | * [Hugo](https://gohugo.io/)
28 |
29 |
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | date: 2016-04-09T16:50:16+02:00
3 | title: Shortcodes
4 | pre: "3. "
5 | weight: 15
6 | ---
7 |
8 | Hugo uses Markdown for its simple content format. However, there are a lot of things that Markdown doesn’t support well. You could use pure HTML to expand possibilities.
9 |
10 | But this happens to be a bad idea. Everyone uses Markdown because it's pure and simple to read even non-rendered. You should avoid HTML to keep it as simple as possible.
11 |
12 | To avoid this limitations, Hugo created [shortcodes](https://gohugo.io/extras/shortcodes/). A shortcode is a simple snippet inside a page.
13 |
14 | **Hugo-theme-learn** provides multiple shortcodes on top of existing ones.
15 |
16 | {{%children style="h2" description="true" %}}
17 |
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/_index.fr.md:
--------------------------------------------------------------------------------
1 | ---
2 | date: 2016-04-09T16:50:16+02:00
3 | title: Shortcodes
4 | pre: "3. "
5 | weight: 15
6 | ---
7 |
8 | Hugo utilise Markdown pour son format simple. Cependant, il y a beaucoup de chose que Markdown ne supporte pas bien. On pourrait utiliser du HTML pur pour améliorer les capacité du Markdown.
9 |
10 | Mais c'est probablement une mauvaise idée. Tout le monde utilise le Markdown parce que c'est pur et simple à lire même lorsqu'il est affiché en texte brut. Vous devez éviter le HTML autant que possible pour garder le contenu simple.
11 |
12 | Cependant, pour éviter les limitations, Hugo a créé les [shortcodes](https://gohugo.io/extras/shortcodes/). Un shortcode est un bout de code (*snippet*) dans une page.
13 |
14 | **Hugo-theme-learn** fournit de multiple shortcodes en plus de ceux existant.
15 |
16 | {{%children style="h2" description="true" %}}
17 |
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/attachments.en.files/BachGavotteShort.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/themes/learn/exampleSite/content/shortcodes/attachments.en.files/BachGavotteShort.mp3
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/attachments.en.files/Carroll_AliceAuPaysDesMerveilles.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/themes/learn/exampleSite/content/shortcodes/attachments.en.files/Carroll_AliceAuPaysDesMerveilles.pdf
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/attachments.en.files/adivorciarsetoca00cape.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/themes/learn/exampleSite/content/shortcodes/attachments.en.files/adivorciarsetoca00cape.pdf
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/attachments.en.files/hugo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/themes/learn/exampleSite/content/shortcodes/attachments.en.files/hugo.png
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/attachments.en.files/movieselectricsheep-flock-244-32500-2.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/themes/learn/exampleSite/content/shortcodes/attachments.en.files/movieselectricsheep-flock-244-32500-2.mp4
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/attachments.fr.files/BachGavotteShort.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/themes/learn/exampleSite/content/shortcodes/attachments.fr.files/BachGavotteShort.mp3
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/attachments.fr.files/Carroll_AliceAuPaysDesMerveilles.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/themes/learn/exampleSite/content/shortcodes/attachments.fr.files/Carroll_AliceAuPaysDesMerveilles.pdf
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/attachments.fr.files/adivorciarsetoca00cape.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/themes/learn/exampleSite/content/shortcodes/attachments.fr.files/adivorciarsetoca00cape.pdf
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/attachments.fr.files/hugo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/themes/learn/exampleSite/content/shortcodes/attachments.fr.files/hugo.png
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/attachments.fr.files/movieselectricsheep-flock-244-32500-2.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/aws-serverless-webapp-workshop/65489b91da572235549bd0ff2ba6af30230e1407/workshop/themes/learn/exampleSite/content/shortcodes/attachments.fr.files/movieselectricsheep-flock-244-32500-2.mp4
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/button.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Button
3 | description : "Nice buttons on your page."
4 | ---
5 |
6 | A button is a just a clickable button with optional icon.
7 |
8 | ```
9 | {{%/* button href="https://getgrav.org/" */%}}Get Grav{{%/* /button */%}}
10 | {{%/* button href="https://getgrav.org/" icon="fas fa-download" */%}}Get Grav with icon{{%/* /button */%}}
11 | {{%/* button href="https://getgrav.org/" icon="fas fa-download" icon-position="right" */%}}Get Grav with icon right{{%/* /button */%}}
12 | ```
13 |
14 | {{% button href="https://getgrav.org/" %}}Get Grav{{% /button %}}
15 | {{% button href="https://getgrav.org/" icon="fas fa-download" %}}Get Grav with icon{{% /button %}}
16 | {{% button href="https://getgrav.org/" icon="fas fa-download" icon-position="right" %}}Get Grav with icon right{{% /button %}}
17 |
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/button.fr.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Button (Bouton)
3 | description : "De beaux boutons sur votre page."
4 | ---
5 |
6 | Le shortcode *button* est simplement un bouton cliquable avec une icône optionnelle.
7 |
8 | ```
9 | {{%/* button href="https://getgrav.org/" */%}}Téléchargez Grav{{%/* /button */%}}
10 | {{%/* button href="https://getgrav.org/" icon="fas fa-download" */%}}Téléchargez Grav avec icône{{%/* /button */%}}
11 | {{%/* button href="https://getgrav.org/" icon="fas fa-download" icon-position="right" */%}}Téléchargez Grav avec icône à droite{{%/* /button */%}}
12 | ```
13 |
14 | {{% button href="https://getgrav.org/" %}}Téléchargez Grav{{% /button %}}
15 | {{% button href="https://getgrav.org/" icon="fas fa-download" %}}Téléchargez Grav avec icône{{% /button %}}
16 | {{% button href="https://getgrav.org/" icon="fas fa-download" icon-position="right" %}}Téléchargez Grav avec icône à droite{{% /button %}}
17 |
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/children/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title : Children
3 | description : List the child pages of a page
4 | ---
5 |
6 | Use the children shortcode to list the child pages of a page and the further descendants (children's children). By default, the shortcode displays links to the child pages.
7 |
8 | ## Usage
9 |
10 | | Parameter | Default | Description |
11 | |:--|:--|:--|
12 | | page | _current_ | Specify the page name (section name) to display children for |
13 | | style | "li" | Choose the style used to display descendants. It could be any HTML tag name |
14 | | showhidden | "false" | When true, child pages hidden from the menu will be displayed |
15 | | description | "false" | Allows you to include a short text under each page in the list. when no description exists for the page, children shortcode takes the first 70 words of your content. [read more info about summaries on gohugo.io](https://gohugo.io/content/summaries/) |
16 | | depth | 1 | Enter a number to specify the depth of descendants to display. For example, if the value is 2, the shortcode will display 2 levels of child pages. **Tips:** set 999 to get all descendants|
17 | | sort | none | Sort Children By
Weight - to sort on menu order
Name - to sort alphabetically on menu label
Identifier - to sort alphabetically on identifier set in frontmatter
URL - URL
|
18 |
19 | ## Demo
20 |
21 | {{%/* children */%}}
22 |
23 | {{% children %}}
24 |
25 | {{%/* children description="true" */%}}
26 |
27 | {{%children description="true" %}}
28 |
29 | {{%/* children depth="3" showhidden="true" */%}}
30 |
31 | {{% children depth="3" showhidden="true" %}}
32 |
33 | {{%/* children style="h2" depth="3" description="true" */%}}
34 |
35 | {{% children style="h2" depth="3" description="true" %}}
36 |
37 | {{%/* children style="div" depth="999" */%}}
38 |
39 | {{% children style="div" depth="999" %}}
40 |
41 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/children/_index.fr.md:
--------------------------------------------------------------------------------
1 | ---
2 | title : Children (Pages filles)
3 | description : Liste les pages filles de la page
4 | ---
5 |
6 | Utilisez le shortcode *children* pour lister les pages filles de la page et tous ses déscendants (pages filles de pages filles). Par défaut, le shortcode affiche des liens vers les pages filles.
7 |
8 | ## Utilisation
9 |
10 | | Paramètre | Défaut | Description |
11 | |:--|:--|:--|
12 | | page | _current_ | Spécifie le nom de la page (nom de la section) à afficher |
13 | | style | "li" | Choisi le style à utiliser pour afficher les descendants. Cela peut être n'importe quel balise HTML |
14 | | showhidden | "false" | Quand *true*, pages filles cachées dans le menu seront affichées quand même |
15 | | description | "false" | Permet d'inclure le texte de la description de la page sous chaque entré de la liste. quand aucune description existe pour la page, le shortcode prend les 70 premiers mots du contenu. [plus d'infos sur gohugo.io](https://gohugo.io/content/summaries/) |
16 | | depth | 1 | Nombre de descendants à afficher. Par exemple, si la valeur est 2, le shortcode va afficher 2 niveaux de pages filels. **Astuce:** Utilisez 999 pour avoir tous les descendants|
17 | | sort | | Tri les pages filles par
Weight - Poids
Name - Nom
Identifier - Trier alphabétiquement par identifiant configuré dans le front matter
URL - URL
|
18 |
19 | ## Démo
20 |
21 | {{%/* children */%}}
22 |
23 | {{% children %}}
24 |
25 | {{%/* children description="true" */%}}
26 |
27 | {{%children description="true" %}}
28 |
29 | {{%/* children depth="3" showhidden="true" */%}}
30 |
31 | {{% children depth="3" showhidden="true" %}}
32 |
33 | {{%/* children style="h2" depth="3" description="true" */%}}
34 |
35 | {{% children style="h2" depth="3" description="true" %}}
36 |
37 | {{%/* children style="div" depth="999" */%}}
38 |
39 | {{% children style="div" depth="999" %}}
40 |
41 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/children/children-1/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "page 1"
3 | description = "This is a demo child page"
4 | +++
5 |
6 | This is a demo child page
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/children/children-1/_index.fr.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "page 1"
3 | description = "Ceci est une page test"
4 | +++
5 |
6 | Ceci est une page de demo
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/children/children-1/children-1-1/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "page 1-1"
3 | description = "This is a demo child page"
4 | +++
5 |
6 | This is a demo child page
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/children/children-1/children-1-1/_index.fr.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "page 1-1"
3 | description = "Ceci est une page test"
4 | +++
5 |
6 | Ceci est une page de demo
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/children/children-1/children-1-1/children-1-1-1/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "page 1-1-1"
3 | description = "This is a demo child page"
4 | +++
5 |
6 | This is a demo child page
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/children/children-1/children-1-1/children-1-1-1/_index.fr.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "page 1-1-1"
3 | description = "Ceci est une page test"
4 | +++
5 |
6 | Ceci est une page de demo
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/children/children-1/children-1-1/children-1-1-1/children-1-1-1-1/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "page 1-1-1-1"
3 | description = "This is a demo child page"
4 | +++
5 |
6 | This is a demo child page
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/children/children-1/children-1-1/children-1-1-1/children-1-1-1-1/_index.fr.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "page 1-1-1-1"
3 | description = "Ceci est une page test"
4 | +++
5 |
6 | Ceci est une page de demo
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/children/children-1/children-1-1/children-1-1-1/children-1-1-1-1/children-1-1-1-1-1/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "page 1-1-1-1-1"
3 | description = "This is a demo child page"
4 | +++
5 |
6 | This is a demo child page
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/children/children-1/children-1-1/children-1-1-1/children-1-1-1-1/children-1-1-1-1-1/_index.fr.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "page 1-1-1-1-1"
3 | description = "Ceci est une page test"
4 | +++
5 |
6 | Ceci est une page de demo
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/children/children-2/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "page 2"
3 | description = ""
4 | +++
5 |
6 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
7 | tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
8 | quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
9 | consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
10 | cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
11 | proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/children/children-2/_index.fr.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "page 2"
3 | description = ""
4 | +++
5 |
6 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
7 | tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
8 | quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
9 | consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
10 | cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
11 | proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/children/children-2/test3.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "page test 3"
3 | description = "This is a page test"
4 | +++
5 |
6 | This is a test 3 demo child page
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/children/children-2/test3.fr.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "page test 3"
3 | description = "Ceci est une page test"
4 | +++
5 |
6 | Ceci est une page de demo test 3
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/children/children-3/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "page 3"
3 | description = "This is a demo child page"
4 | +++
5 |
6 | This is a demo child page, not displayed in the menu
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/children/children-3/_index.fr.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "page 3"
3 | description = "Ceci est une page test"
4 | +++
5 |
6 | Ceci est une page de demo
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/children/children-4/_index.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "page 4"
3 | description = "This is a demo child page"
4 | hidden = true
5 | +++
6 |
7 | This is a demo child page, not displayed in the menu
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/children/children-4/_index.fr.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "page 4"
3 | description = "Ceci est une page test"
4 | hidden = true
5 | +++
6 |
7 | Ceci est une page de demo
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/children/test.en.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "page test"
3 | description = "This is a page test"
4 | +++
5 |
6 | This is a test demo child page
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/children/test.fr.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "page test"
3 | description = "Ceci est une page test"
4 | +++
5 |
6 | Ceci est une page de demo
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/expand.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title : Expand
3 | description : "Displays an expandable/collapsible section of text on your page"
4 | ---
5 |
6 | The Expand shortcode displays an expandable/collapsible section of text on your page.
7 | Here is an example
8 |
9 | {{%expand%}}
10 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
11 | tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
12 | quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
13 | consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
14 | cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
15 | proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
16 | {{%/expand%}}
17 |
18 |
19 | ## Usage
20 |
21 |
22 | this shortcode takes exactly one optional parameter to define the text that appears next to the expand/collapse icon. (default is "Expand me...")
23 |
24 | {{%/*expand "Is this learn theme rocks ?" */%}}Yes !.{{%/* /expand*/%}}
25 |
26 | {{%expand "Is this learn theme rocks ?" %}}Yes !{{% /expand%}}
27 |
28 | # Demo
29 |
30 | {{%/*expand*/%}}
31 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
32 | tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
33 | quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
34 | consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
35 | cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
36 | proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
37 | {{%/* /expand*/%}}
38 |
39 |
40 | {{%expand%}}Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
41 | tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
42 | quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
43 | consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
44 | cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
45 | proident, sunt in culpa qui officia deserunt mollit anim id est laborum.{{% /expand%}}
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/expand.fr.md:
--------------------------------------------------------------------------------
1 | ---
2 | title : Expand
3 | description : "Affiche une section de texte qui se plie et se déplie"
4 | ---
5 |
6 | Le shortcode *Expand* affiche une section de texte qui se plie et se déplie.
7 | Ci-dessous un exemple.
8 |
9 | {{%expand%}}
10 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
11 | tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
12 | quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
13 | consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
14 | cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
15 | proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
16 | {{%/expand%}}
17 |
18 |
19 | ## Utilisation
20 |
21 |
22 | Ce shortcode prends exactement un paramètre optionel pour définir le texte à côté de l'icone. (valeur par défaut est "Déroulez-moi...")
23 |
24 | {{%/*expand "Est-ce que ce thème envoie du pâté ?" */%}}Oui !.{{%/* /expand*/%}}
25 |
26 | {{%expand "Est-ce que ce thème envoie du pâté ?" %}}Oui !{{% /expand%}}
27 |
28 | # Demo
29 |
30 | {{%/*expand*/%}}
31 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
32 | tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
33 | quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
34 | consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
35 | cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
36 | proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
37 | {{%/* /expand*/%}}
38 |
39 |
40 | {{%expand%}}Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
41 | tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
42 | quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
43 | consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
44 | cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
45 | proident, sunt in culpa qui officia deserunt mollit anim id est laborum.{{% /expand%}}
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/notice.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Notice
3 | description : "Disclaimers to help you structure your page"
4 | ---
5 |
6 | The notice shortcode shows 4 types of disclaimers to help you structure your page.
7 |
8 | ### Note
9 |
10 | ```
11 | {{%/* notice note */%}}
12 | A notice disclaimer
13 | {{%/* /notice */%}}
14 | ```
15 |
16 | renders as
17 |
18 | {{% notice note %}}
19 | A notice disclaimer
20 | {{% /notice %}}
21 |
22 | ### Info
23 |
24 | ```
25 | {{%/* notice info */%}}
26 | An information disclaimer
27 | {{%/* /notice */%}}
28 | ```
29 |
30 | renders as
31 |
32 | {{% notice info %}}
33 | An information disclaimer
34 | {{% /notice %}}
35 |
36 | ### Tip
37 |
38 | ```
39 | {{%/* notice tip */%}}
40 | A tip disclaimer
41 | {{%/* /notice */%}}
42 | ```
43 |
44 | renders as
45 |
46 | {{% notice tip %}}
47 | A tip disclaimer
48 | {{% /notice %}}
49 |
50 | ### Warning
51 |
52 | ```
53 | {{%/* notice warning */%}}
54 | An warning disclaimer
55 | {{%/* /notice */%}}
56 | ```
57 |
58 | renders as
59 |
60 | {{% notice warning %}}
61 | A warning disclaimer
62 | {{% /notice %}}
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/notice.fr.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Notice
3 | description : "Message pour vous aider à structurer votre contenu"
4 | ---
5 |
6 | Le shortcode *Notice* permet d'afficher 4 types de message pour vous aider à structurer votre contenu.
7 |
8 | ### Note
9 |
10 | ```
11 | {{%/* notice note */%}}
12 | Une notice de type *note*
13 | {{%/* /notice */%}}
14 | ```
15 |
16 | s'affiche comme
17 |
18 | {{% notice note %}}
19 | Une notice de type *note*
20 | {{% /notice %}}
21 |
22 | ### Info
23 |
24 | ```
25 | {{%/* notice info */%}}
26 | Une notice de type *info*
27 | {{%/* /notice */%}}
28 | ```
29 |
30 | s'affiche comme
31 |
32 | {{% notice info %}}
33 | Une notice de type *info*
34 | {{% /notice %}}
35 |
36 | ### Tip
37 |
38 | ```
39 | {{%/* notice tip */%}}
40 | Une notice de type *tip*
41 | {{%/* /notice */%}}
42 | ```
43 |
44 | s'affiche comme
45 |
46 | {{% notice tip %}}
47 | Une notice de type *tip*
48 | {{% /notice %}}
49 |
50 | ### Warning
51 |
52 | ```
53 | {{%/* notice warning */%}}
54 | Une notice de type *warning*
55 | {{%/* /notice */%}}
56 | ```
57 |
58 | s'affiche comme
59 |
60 | {{% notice warning %}}
61 | Une notice de type *warning*
62 | {{% /notice %}}
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/siteparam.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Site param
3 | description : "Get value of site params variables in your page."
4 | ---
5 |
6 | `siteparam` shortcode is used to help you print values of site params.
7 |
8 | For instance, in this current site, the `editURL` variable is used in `config.toml`
9 |
10 | ```toml
11 | [params]
12 | editURL = "https://github.com/matcornic/hugo-theme-learn/edit/master/exampleSite/content/"
13 | ```
14 |
15 | Use the `siteparam` shortcode to display its value.
16 |
17 | ```
18 | `editURL` Value : {{%/* siteparam "editURL" */%}}
19 | ```
20 |
21 | is displayed as
22 |
23 | `editURL` Value : {{% siteparam "editURL" %}}
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/shortcodes/siteparam.fr.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Site param
3 | description : "Afficher la valeur d'un paramètre global du site dans votre page"
4 | ---
5 |
6 | Les shortcode `siteparam` est utilisé pour vous aider à afficher des valeurs provenant des paramètres globaux du site.
7 |
8 | Par exemple, dans ce site, le paramètre `editURL` est utilisé dans le fichier `config.toml`
9 |
10 | ```toml
11 | [params]
12 | editURL = "https://github.com/matcornic/hugo-theme-learn/edit/master/exampleSite/content/"
13 | ```
14 |
15 | Utilisez le shortcode `siteparam` pour affichier sa valeur.
16 |
17 | ```
18 | Valeur de `editURL` : {{%/* siteparam "editURL" */%}}
19 | ```
20 |
21 | s'affiche comme
22 |
23 | Valeur de `editURL` : {{% siteparam "editURL" %}}
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/showcase.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Showcase
3 | disableToc: true
4 | ---
5 |
6 | #### [TAT](https://ovh.github.io/tat/overview/) by OVH
7 | 
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/content/showcase.fr.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Vitrine
3 | disableToc: true
4 | slug: vitrine
5 | ---
6 |
7 | #### [TAT](https://ovh.github.io/tat/overview/) par OVH
8 | 
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/layouts/partials/custom-footer.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/workshop/themes/learn/exampleSite/layouts/partials/menu-footer.html:
--------------------------------------------------------------------------------
1 |