Skip to content

Commit

Permalink
Added LocalStack Academy (#742)
Browse files Browse the repository at this point in the history
* Initial commit

* Created UI for courses list and single page

* Added UI for lessons single

* Fixed responsive design + added video support

* add course description + description for each lesson + further reading material

* add urls for pages of course 1

* shorten descriptions

* Add videos and thumbnail images

* Change cover image for LocalStack 101

* Fixed video play button bug

* style changes

* optimized images

* updated lesson image

* Changes after PR review

* Add feedback
Add start button on list.html

* updated btn styles

* minor doc change

* updated btn styles again

* minor doc change

* minor doc change

---------

Co-authored-by: AncaGhenade <[email protected]>
Co-authored-by: Nancy Chauhan <[email protected]>
  • Loading branch information
3 people authored Aug 23, 2023
1 parent 0304355 commit 27e1e21
Show file tree
Hide file tree
Showing 26 changed files with 916 additions and 35 deletions.
66 changes: 35 additions & 31 deletions assets/scss/_styles_project.scss
Original file line number Diff line number Diff line change
Expand Up @@ -522,38 +522,42 @@ table tfoot {
margin-bottom: 0;
}
}

.td-content .code-container {
.code-copy-button {
position: absolute;
top: 0;
right: 0;
background-color: rgba(#2b1a5c, 0.8);
padding: 4px 10px;
color: #fff !important;
border: none;
border-radius: 3px;
cursor: pointer;
display: flex;
align-items: center;
font-size: 14px;
opacity: 0;
&:hover,
&:active {
transition: 0.3s ease;
background-color: rgba(#2b1a5c, 1);
}
&:active {
transform: none;
}
i {
margin-right: 5px;
}
}
&:hover {
.td-content, body{
.code-container {
position: relative;
.code-copy-button {
transition: 0.3s ease;
opacity: 1;
position: absolute;
top: 0;
right: 0;
background-color: rgba(#2b1a5c, 0.8);
padding: 4px 10px;
color: #fff !important;
border: none;
border-radius: 3px;
cursor: pointer;
display: flex;
align-items: center;
font-size: 14px;
opacity: 0;
&:hover,
&:active {
transition: 0.3s ease;
background-color: rgba(#2b1a5c, 1);
}
&:active {
transform: none;
}
i {
margin-right: 5px;
}
}
&:hover {
.code-copy-button {
transition: 0.3s ease;
opacity: 1;
}
}
}
}

@import "modules/academy-styles.scss";
235 changes: 235 additions & 0 deletions assets/scss/modules/_academy-styles.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,235 @@
.page-content {
h1 {
font-weight: 700;
margin-bottom: 0.5rem;
}
.lead {
margin-bottom: 2rem;
}
}
.hover-link {
color: inherit;
text-decoration: none !important;
transition: 0.3s ease-in;
font-weight: inherit;
&:hover {
color: $dark-purple;
}
}
.course-item {
padding: 59px 36px;
border-radius: 12px;
border: 1px solid #1d2d3520;
&:not(:last-child) {
margin-bottom: 36px;
}
// resetting styles START
p,
h2,
ul,
ul li {
margin: 0;
}
// resetting styles END
.content {
padding-right: 24px;
}
.inner {
h2 {
font-weight: 700;
}
p {
margin-top: 11px;
}
}
img {
border-radius: 6px;
}
.main-cta{
padding: 5px 17px 4px 17px;
background: #4D29B4;
color: $white;
margin-top: 20px;
span{
&:first-child{
margin-right: 8px;
}
}
i{
font-size: 16px;
}
}
}
.lessons-list-container {
margin-top: 25px;
margin: 9px 0;
small {
font-size: 12px;
}
.lesson-list-item {
border-top: 1px solid $gray-600;
padding: 4px 0;
&:last-child {
border-bottom: 1px solid $gray-600;
}
a {
font-weight: 600;
}
}
}

.lessons-list {
.lessons-item {
&:not(:last-child) {
margin-bottom: 36px;
}
}
}

.lessons-item {
.content {
padding-top: 5px;
padding-left: 24px;
// resetting styles START
p,
h2,
ul,
ul li {
margin: 0;
}
// resetting styles END
h2 {
font-size: 20px;
}
.content-text {
margin-top: 14px;
}
.btn-with-icon {
margin-top: 17px;
}
}
img {
border-radius: 6px;
}
&.compact{
.content{
.up-next-text{
margin-bottom: 5px;
display: block;
color: $dark-purple;
}
.content-text{
margin-top: 7px;
}
.btn-with-icon {
margin-top: 11px;
text-decoration: none;
}
}
}
}

.btn-with-icon {
display: inline-flex;
align-items: center;
border: 1px solid rgba($black, 0.13);
border-radius: 6px;
text-transform: uppercase;
font-weight: 700;
font-size: 14px;
color: $body-color;
padding: 5px 18px 4px 18px;
transition: .3s ease;
&:hover{
background: $dark-purple;
color: $white;
}
span:first-child {
margin-right: 6px;
}
}

.img-light-shadow{
box-shadow: 0px 0px 15px #dfdfdf;
}

.video-thumbnail{
position: relative;
border-radius: 5px;
width: 100%;
cursor: pointer;
iframe{
aspect-ratio: 16/9;
}
.play-btn{
display: flex;
align-items: center;
justify-content: center;
border-radius: 1000px;
border: 2px solid $white;
height: 60px;
width: 60px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
i {
font-size: 25px;
color: $white;
opacity: 0.7;
transition: opacity 0.3s;
position: relative;
left: 1px;
}
&:hover{
i{
opacity: 1;
}
}
}

&.played{
img{
display: none;
}
.play-btn{
display: none;
}
}
}

@media (max-width: 992px) {
.course-item {
padding: 36px;
.content {
padding: 0;
}
}

}

@media (max-width: 768px) {
.course-item {
padding: 36px 18px;
.inner {
h2 {
font-size: 22px;
}
}
.main-cta{
margin-top: 0;
}
}
.lessons-item{
.content{
padding: 0;
padding-top: 18px;
.content-text {
margin-top: 10px;
}
.btn-with-icon {
margin-top: 10px;
}
}
}
}
15 changes: 15 additions & 0 deletions content/en/academy/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
title: "LocalStack Academy"
linkTitle: "LocalStack Academy"
weight: 30
description: >
Welcome to our comprehensive LocalStack e-course! Whether you're a seasoned developer or just starting
your cloud journey, this course is tailored to equip you with the essential knowledge to harness the power of LocalStack.
Dive into the world of LocalStack, where you'll not only expedite your development process but also enhance your efficiency
in building and testing cloud applications.
cascade:
type: docs
slug: academy
dev_hub: true
type: academy
---
11 changes: 11 additions & 0 deletions content/en/academy/localstack-101/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
title: "LocalStack 101"
linkTitle: "LocalStack 101"
weight: 6
description: >
This LocalStack course will walk you through everything you need to know to get started using LocalStack
and on your way to becoming a more efficient and productive Cloud developer. Have fun exploring!
type: academy
thumbnail: localstack101.png
layout: single
---
14 changes: 14 additions & 0 deletions content/en/academy/localstack-101/lesson-1/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: "Course Overview"
linkTitle: "Course Overview"
weight: 1
description: >
In this first video, we will explore the diverse sections covered in this e-course, providing
an overview of the exciting topics to be discussed. Discover the course's main themes and gain insight
into specific sections through a concise overview, allowing you to easily navigate to your preferred content.
length: 01:47
leadimage: overview.png
videoUrl: https://www.youtube.com/embed/VLL-BI1AWcc
type: lessons
url: /academy/localstack-101/course-overview/
---
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
37 changes: 37 additions & 0 deletions content/en/academy/localstack-101/lesson-2/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
title: "What is LocalStack"
linkTitle: "What is LocalStack"
weight: 2
description: >
Discover the power of LocalStack, a game-changing platform enabling Cloud Development Teams to test and
develop Cloud applications locally. Replacing AWS in most use cases, LocalStack ships as a
Docker image, and supports APIs for over 70 AWS services, along with advanced collaboration features and CI integrations.
length: 01:58
leadimage: what-is-ls.png
videoUrl: https://www.youtube.com/embed/B2EML5L3-tw
type: lessons
url: "/academy/localstack-101/what-is-localstack/"
---

In this lesson, we'll talk about LocalStack:

- The revolutionary platform that brings cloud testing to your local machine, simplifying the development process.
- A drop-in replacement for AWS, ships as a user-friendly Docker image, ensuring effortless installation and setup.
- Supports over 70 AWS services and capable of a diverse range of functionalities, including compute (Lambda, ECS, EKS), various database (DynamoDB, RDS, DocumentDB), and messaging services (SQS, Kinesis, MSK).
- Tackles sophisticated and exotic APIs (QLDB, Athena, Glue) and helps enhance your skill set.
- Contains advanced collaboration features and seamless CI integrations that foster team productivity.
- Our mission is to empower developers with control over their environments, eliminating time-consuming cloud dev and test loops.
- You can focus on developing exceptional products to solve real-world challenges with LocalStack as your game-changing companion.

Embrace the future of cloud development and have fun exploring!

Further reading:

- [An overview of LocalStack](https://localstack.cloud/)
- [LocalStack Documentation](https://docs.localstack.cloud/overview)
- [LocalStack Service Coverage](https://docs.localstack.cloud/user-guide/aws/feature-coverage/)
- [Learning Resources for Everything AWS](https://aws.amazon.com/developer/learning/)
- [Documentation for AWS Services](https://docs.aws.amazon.com/)



Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 27e1e21

Please sign in to comment.