Skip to content

Commit

Permalink
Merge branch 'main' of github.com:alkozp/WDX-180
Browse files Browse the repository at this point in the history
  • Loading branch information
alkozp committed Dec 21, 2023
2 parents c0b6950 + 6766bf0 commit e3597f7
Show file tree
Hide file tree
Showing 15 changed files with 388 additions and 15 deletions.
9 changes: 8 additions & 1 deletion curriculum/curriculum.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -141,4 +141,11 @@ Syllabus:
## [0.1.1] - 07/12/2023: Updated Weeks 10 and 11
### REMOVED: Week 10: Removed Asynchronous Programming & Ajax
### REMOVED: Week 11: Removed Web Storage and Media APIs
## [0.1.0]: https://github.com/in-tech-gration/WDX-180/blob/21faf10c25cdd520fa5b8edf9d47f14a69caae47/curriculum/curriculum.yaml
## [0.1.0]: https://github.com/in-tech-gration/WDX-180/blob/21faf10c25cdd520fa5b8edf9d47f14a69caae47/curriculum/curriculum.yaml

# TODO: SQL: https://eventloop.gr/LearnSQL/index.html#/
# +Murder Mystery

# TODO: Add Chrome Extensions to z-index/stacking-context related modules
# https://chromewebstore.google.com/detail/css-stacking-context-insp/apjeljpachdcjkgnamgppgfkmddadcki
# https://chromewebstore.google.com/detail/z-context/jigamimbjojkdgnlldajknogfgncplbh
10 changes: 9 additions & 1 deletion curriculum/modules/Short.sample.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,15 @@ load_script_js_via_src:

- Watch the [**video**](){:target="_blank"}

<iframe width="100%" height="480" src="https://www.youtube.com/embed/<VIDEO_ID>" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen style="border: 4px solid red;"></iframe>
<iframe
width="100%"
height="480"
src="https://www.youtube.com/embed/<VIDEO_ID>"
title="YouTube video player"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen style="border: 4px solid red;">
</iframe>

- Check the [MDN page on ``](){:target="_blank"}

Expand Down
41 changes: 41 additions & 0 deletions curriculum/modules/css/tips/hidden_scrollbar/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
title: The scroll bar you didn't know you needed!
load_script_js_via_src:
- flems/flems.html
- flems/flems_init.js
---

# CSS Shorts

## Author: Kevin Powell: The scroll bar you didn't know you needed!

- Watch the [**video**](https://www.youtube.com/shorts/ZFhPGfLfSa8){:target="_blank"}

<iframe width="100%" height="480" src="https://www.youtube.com/embed/ZFhPGfLfSa8" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen style="border: 4px solid red;"></iframe>

- Check the [MDN page on `scrollbar-gutter`](https://developer.mozilla.org/en-US/docs/Web/CSS/scrollbar-gutter){:target="_blank"}

- Experiment with the code below:
- We **highly recommend** that you first check the code, then tweak it and play around with it and lastly clear the code and try to replicate the example from scratch.

```html
<style>
body, section { background: white; }
section .floating-scrollbar {
max-height: 50vh;
padding: 1rem;
background: rgb(2,0,36);
background: linear-gradient(90deg, rgba(2,0,36,1) 0%, rgba(210,93,174,1) 36%, rgba(197,100,179,1) 39%, rgba(0,212,255,1) 100%);
overflow-y: auto;
}
</style>
<section>
<div class="floating-scrollbar">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>
</section>
```

[&#9658; Live coding](#flems-enable)


63 changes: 63 additions & 0 deletions curriculum/modules/css/tips/simple_animation/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
---
title: A quick & fun CSS animation effect
load_script_js_via_src:
- flems/flems.html
- flems/flems_init.js
---

# CSS Shorts

## Kevin Powell: A quick & fun CSS animation effect

- Watch the [**video**](https://www.youtube.com/shorts/TgOWjuOweHQ){:target="_blank"}

<iframe width="100%" height="480" src="https://www.youtube.com/embed/TgOWjuOweHQ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen style="border: 4px solid red;"></iframe>

- Check the [MDN page on `scale`](https://developer.mozilla.org/en-US/docs/Web/CSS/scale){:target="_blank"}

- Check the [MDN page on `transform-origin`](https://developer.mozilla.org/en-US/docs/Web/CSS/transform-origin){:target="_blank"}

- Experiment with the code below:
- We **highly recommend** that you first check the code, then tweak it and play around with it and lastly clear the code and try to replicate the example from scratch.

```html
<style>
body, section { background: white; }
.button {
--color: hsl(208, 72%, 39%);
display: inline-block;
cursor: pointer;
text-decoration: none;
border: 3px solid var(--color);
color: black;
padding: .5em 1em;
border-radius: .25em;
position: relative;
isolation: isolate;
}
.button::after {
content: '';
position: absolute;
z-index: -1;
background: var(--color);
inset: 0;
scale: 0 1;
transform-origin: right;
transition: scale 450ms;
}
.button:hover::after, .button:focus-visible::after {
transform-origin: left;
scale: 1 1;
}
</style>
<section>
<button class="button">Simple Animation</button>
</section>
```

[&#9658; Live coding](#flems-enable)

37 changes: 37 additions & 0 deletions curriculum/modules/html/attributes/download_short/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
title: A HTML Download attribute in all browsers!
---

# HTML Shorts

## Umar Hansa: A HTML Download attribute in all browsers!

- Watch the [**video**](https://www.youtube.com/shorts/nIcxzmiVFJg){:target="_blank"}

<iframe width="100%" height="480" src="https://www.youtube.com/embed/nIcxzmiVFJg" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen style="border: 4px solid red;"></iframe>

- Check the [MDN page on `HTMLAnchorElement: download property`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement/download){:target="_blank"}

- Experiment with the code below:
- We **highly recommend** that you first check the code, then tweak it and play around with it and lastly clear the code and try to replicate the example from scratch.

```html
<style>
body, section { background: white; }
</style>
<section>
<hr/>
<a download="my-fancy-cat.jpg" href="cat.jpg">
<img src="cat.jpg" width="50%"/>
</a>
<hr/>
<a download="some/long/path/my-cat.jpg" href="cat.jpg">
Download cat pics
</a>
<hr/>
<a download href="config.json">
Download your JSON config
</a>
</section>
```

Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
title: Use JavaScript's new array.at()
load_script_js_via_src:
- flems/flems.html
- flems/flems_init.js
---

# JS Shorts

## Wes Bos: Use JavaScript's new array.at()

- Watch the [**video**](https://www.youtube.com/shorts/ibvMv49qAlI){:target="_blank"}

<iframe width="100%" height="480" src="https://www.youtube.com/embed/ibvMv49qAlI" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen style="border: 4px solid red;"></iframe>

- Check the [MDN page on `Array.prototype.at()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/at){:target="_blank"}

- Experiment with the code below:
- We **highly recommend** that you first check the code, then tweak it and play around with it and lastly clear the code and try to replicate the example from scratch.

```js
const tops = ['sauce',
'cheese', 'pepperoni',
'sausage', 'peppers',
'onions', 'mushrooms',
'olives'];

console.log("With .at(0): ", tops.at(0)); // sauce
console.log("With .at(1): ", tops.at(1)); // cheese

console.log("With tops[tops.length -1]: ", tops[tops.length -1]);
console.log("With .at(-1): ", tops.at(-1)); // olives
console.log("With .at(-2): ", tops.at(-2)); // mushrooms

console.log("With tops[Math.floor(Math.random() * tops.length)]: ", tops[Math.floor(Math.random() * tops.length)]);

console.log("With .at(Math.random() * tops.length): ", tops.at(Math.random() * tops.length));
```

[&#9658; Live coding](#flems-enable)

95 changes: 95 additions & 0 deletions curriculum/schedule/week.schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
{
"$schema": "http://json-schema.org/schema",
"$comment": "Understanding JSON Schema: https://json-schema.org/understanding-json-schema/UnderstandingJSONSchema.pdf / Inspiration: https://github.com/pyvideo/data/blob/main/writethedocs-na-2018/videos/audience-market-product-bob-watson-write-the-docs-portland-2018.json / YAML: https://github.com/redhat-developer/vscode-yaml",
"definitions": {
"git_commands": {
"type": "string",
"$ref": "../../resources/schemas/git.json#/commands"
},
"concepts": {
"type": "string",
"enum": [
"Version Control",
"Git Branches"
]
},
"schedule_units": {
"type": "number"
},
"weekdays" : {
"type": "string",
"enum": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
},
"weekdays_numeric" : {
"type": "string",
"enum": ["1","2","3","4","5"]
}
},
"type": "object",
"properties": {
"input": {
"type": "string"
},
"schedule": {
"type": "object",
"oneOf": [
{
"required": [ "days" ]
},
{
"required": [ "extra" ]
}
],
"properties" : {
"days" : {
"type": "object",
"propertyNames": {
"anyOf": [
{
"$ref": "#/definitions/weekdays"
},
{
"$ref": "#/definitions/weekdays_numeric"
}
]
},
"patternProperties": {
"^(1|2|3|4|5|Monday|Tuesday|Wednesday|Thursday|Friday)$": { "anyOf": [
{ "type": "string" },
{
"type": "object",
"properties": {
"module": {},
"technical": {
"type": "array",
"items" : {
"$ref": "#/definitions/git_commands"
}
},
"concepts": {
"type": "array",
"items" : {
"anyOf": [
{ "$ref": "../../resources/schemas/terms.json#/terms" },
{ "$ref": "../../resources/schemas/git.json#/concepts" }
]
}
}
},
"additionalProperties":false
}
]
}
}
}
}
}
},
"required": [
"title",
"schedule"
],
"dependencies": {
}

}
24 changes: 17 additions & 7 deletions curriculum/schedule/week03.yaml
Original file line number Diff line number Diff line change
@@ -1,24 +1,34 @@
# yaml-language-server: $schema=week.schema.json
input: curriculum/schedule/weekly.draft.md
daily_input: curriculum/schedule/daily.draft.md
title: CSS, Accessibility & Git
schedule:
days:
1: # Git
"Monday": "false"
"1": # Git
# file://./../modules/version_control/git/branching_and_remote_git/index.md
module: version_control/git/branching_and_remote_git
2: # What is CSS
technical:
- git
- git init
- git add
- git commit
- git branch
- git push
- git checkout
concepts:
- Version Control
- Git Branches
"2": # What is CSS
# file://./../modules/css/misc/what_is_css/index.md
module: css/misc/what_is_css

3: # CSS Selectors
"3": # CSS Selectors
# file://./../modules/css/selectors/css_selectors/index.md
module: css/selectors/css_selectors
4: # Cascade, Inheritance and the Box Model
"4": # Cascade, Inheritance and the Box Model
# file://./../modules/css/misc/cascade_inheritance_box_model/index.md
module: css/misc/cascade_inheritance_box_model
5:
# file://./../modules/css/misc/backgrounds_and_borders/index.md
module: css/misc/backgrounds_and_borders

# ---

Expand Down
11 changes: 6 additions & 5 deletions curriculum/schedule/week04.yaml
Original file line number Diff line number Diff line change
@@ -1,21 +1,22 @@
# yaml-language-server: $schema=week.schema.json
input: curriculum/schedule/weekly.draft.md
daily_input: curriculum/schedule/daily.draft.md
title: CSS 2 & Performance
schedule:
days:
1: # Styling Tables, Debugging and Organizing CSS
"1": # Styling Tables, Debugging and Organizing CSS
# file://./../modules/css/misc/styling_tables_debugging_organizing/index.md
module: css/misc/styling_tables_debugging_organizing
2: # Styling Text
"2": # Styling Text
# file://./../modules/css/misc/styling_text/index.md
module: css/misc/styling_text
3: # CSS Layout Intro / Normal Flow / Positioning / Flexbox
"3": # CSS Layout Intro / Normal Flow / Positioning / Flexbox
# file://./../modules/css/misc/layout_part1/index.md
module: css/misc/layout_part1
4: # Responsive Design, Media Queries
"4": # Responsive Design, Media Queries
# file://./../modules/css/misc/layout_part2/index.md
module: css/misc/layout_part2
5: # Web Performance & CSS Pre-processors
"5": # Web Performance & CSS Pre-processors
# file://./../modules/css/performance/web_performance/index.md
module: css/performance/web_performance

Expand Down
2 changes: 1 addition & 1 deletion resources/resources.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$schema": "./resources.schema.json",
"$schema": "./schemas/resources.schema.json",
"resources": {
"how-computers-work-binary-data": {
"title": "How Computers Work: Binary & Data",
Expand Down
Loading

0 comments on commit e3597f7

Please sign in to comment.