diff --git a/docs/astro.config.mjs b/docs/astro.config.mjs index 6e639a4..4dc14cb 100644 --- a/docs/astro.config.mjs +++ b/docs/astro.config.mjs @@ -16,6 +16,11 @@ export default defineConfig({ linkedin: 'https://www.linkedin.com/in/thomas-laforge-2b05a945/', twitter: 'https://twitter.com/laforge_toma', }, + customCss: [ + '@fontsource/ibm-plex-serif/400.css', + '@fontsource/ibm-plex-serif/600.css', + './src/styles/custom-css.css', + ], sidebar: [ { label: 'Guides', @@ -23,315 +28,316 @@ export default defineConfig({ }, { label: 'Challenges', - items: [ - { - label: 'Angular', - items: [ - { - label: 'Projection', - link: '/challenges/angular/projection', - badge: { - text: 'E', - variant: 'success', - }, - }, - { - label: 'Directive enhancement', - link: '/challenges/angular/directive-enhancement', - badge: { - text: 'M', - variant: 'caution', - }, - }, - { - label: 'ContextOutlet Typing', - link: '/challenges/angular/context-outlet-typing', - badge: { - text: 'H', - variant: 'danger', - }, - }, - { - label: 'CRUD', - link: '/challenges/angular/crud', - badge: { - text: 'E', - variant: 'success', - }, - }, - { - label: 'Permissions', - link: '/challenges/angular/permissions', - badge: { - text: 'M', - variant: 'caution', - }, - }, - { - label: 'Simple Pure Pipe', - link: '/challenges/angular/pipe-pure', - badge: { - text: 'E', - variant: 'success', - }, - }, - { - label: 'WrapFn Pipe', - link: '/challenges/angular/pipe-wrapFn', - badge: { - text: 'M', - variant: 'caution', - }, - }, - { - label: 'Utility Pipe', - link: '/challenges/angular/pipe-utility', - badge: { - text: 'H', - variant: 'danger', - }, - }, - { - label: 'Change Dectection - scroll', - link: '/challenges/angular/scroll-cd', - badge: { - text: 'M', - variant: 'caution', - }, - }, - { - label: 'Styling', - link: '/challenges/angular/styling', - badge: { - text: 'M', - variant: 'caution', - }, - }, - { - label: 'Dependancy Injection', - link: '/challenges/angular/di', - badge: { - text: 'H', - variant: 'danger', - }, - }, - { - label: 'Anchor Scrolling', - link: '/challenges/angular/anchor-scrolling', - badge: { - text: 'E', - variant: 'success', - }, - }, - { - label: 'Router Input', - link: '/challenges/angular/router-input', - badge: { - text: 'E', - variant: 'success', - }, - }, - { - label: 'Interop Rxjs Signal', - link: '/challenges/angular/interop-rxjs-signal', - badge: { - text: 'H', - variant: 'danger', - }, - }, - { - label: 'Module to Standalone', - link: '/challenges/angular/modaule-to-standalone', - badge: { - text: 'E', - variant: 'success', - }, - }, - { - label: 'Bug - Change Detection', - link: '/challenges/angular/bug-cd', - badge: { - text: 'M', - variant: 'caution', - }, - }, - { - label: "Component's Decoupling", - link: '/challenges/angular/decoupling', - badge: { - text: 'M', - variant: 'caution', - }, - }, - ], - }, - { - label: 'Angular - Performance', - items: [ - { - label: 'Default vs OnPush', - link: '/challenges/angular-performance/default-onpush', - badge: { - text: 'E', - variant: 'success', - }, - }, - ], - }, - { - label: 'Testing', - items: [ - { - label: 'Router', - link: '/challenges/testing/router', - badge: { - text: 'M', - variant: 'caution', - }, - }, - { - label: 'Nested Component', - link: '/challenges/testing/nested-comp', - badge: { - text: 'M', - variant: 'caution', - }, - }, - { - label: 'Input Output', - link: '/challenges/testing/input-output', - badge: { - text: 'M', - variant: 'caution', - }, - }, - { - label: 'Modal', - link: '/challenges/testing/modal', - badge: { - text: 'M', - variant: 'caution', - }, - }, - { - label: 'harness', - link: '/challenges/testing/harness', - badge: { - text: 'E', - variant: 'success', - }, - }, - { - label: 'Harness Creation', - link: '/challenges/testing/harness-creation', - badge: { - text: 'M', - variant: 'caution', - }, - }, - { - label: 'Checkbox', - link: '/challenges/testing/checkbox', - badge: { - text: 'E', - variant: 'success', - }, - }, - { - label: 'Reallife Application', - link: '/challenges/testing/real-application', - badge: { - text: 'H', - variant: 'danger', - }, - }, - ], - }, - { - label: 'RxJs', - items: [ - { - label: 'Bug - Chaining Operators', - link: '/challenges/rxjs/bug-chaining-operator', - badge: { - text: 'M', - variant: 'caution', - }, - }, - { - label: 'Race Condition', - link: '/challenges/rxjs/race-condition', - badge: { - text: 'E', - variant: 'success', - }, - }, - ], - }, - { - label: 'Nx', - items: [ - { - label: 'Extending Library Generator', - link: '/challenges/nx/generator-lib-ext', - badge: { - text: 'H', - variant: 'danger', - }, - }, - { - label: 'Component Generator', - link: '/challenges/nx/generator-comp', - badge: { - text: 'M', - variant: 'caution', - }, - }, - { - label: 'Custom Eslint Rule', - link: '/challenges/nx/forbid-enum-rule', - badge: { - text: 'E', - variant: 'success', - }, - }, - ], - }, - { - label: 'NgRx', - items: [ - { - label: 'Effect vs Selector', - link: '/challenges/ngrx/effect-selector', - badge: { - text: 'M', - variant: 'caution', - }, - }, - { - label: 'Power of Effects', - link: '/challenges/ngrx/power-effect', - badge: { - text: 'H', - variant: 'danger', - }, - }, - ], - }, - { - label: 'Typescript', - items: [ - { - label: 'Function Overload', - link: '/challenges/typescript/overload-fn', - badge: { - text: 'M', - variant: 'caution', - }, - }, - ], - }, - ], + autogenerate: { directory: 'challenges' }, + // items: [ + // { + // label: 'Angular', + // items: [ + // { + // label: 'Projection', + // link: '/challenges/angular/projection', + // badge: { + // text: 'E', + // variant: 'success', + // }, + // }, + // { + // label: 'Directive enhancement', + // link: '/challenges/angular/directive-enhancement', + // badge: { + // text: 'M', + // variant: 'caution', + // }, + // }, + // { + // label: 'ContextOutlet Typing', + // link: '/challenges/angular/context-outlet-typing', + // badge: { + // text: 'H', + // variant: 'danger', + // }, + // }, + // { + // label: 'CRUD', + // link: '/challenges/angular/crud', + // badge: { + // text: 'E', + // variant: 'success', + // }, + // }, + // { + // label: 'Permissions', + // link: '/challenges/angular/permissions', + // badge: { + // text: 'M', + // variant: 'caution', + // }, + // }, + // { + // label: 'Simple Pure Pipe', + // link: '/challenges/angular/pipe-pure', + // badge: { + // text: 'E', + // variant: 'success', + // }, + // }, + // { + // label: 'WrapFn Pipe', + // link: '/challenges/angular/pipe-wrapFn', + // badge: { + // text: 'M', + // variant: 'caution', + // }, + // }, + // { + // label: 'Utility Pipe', + // link: '/challenges/angular/pipe-utility', + // badge: { + // text: 'H', + // variant: 'danger', + // }, + // }, + // { + // label: 'Change Dectection - scroll', + // link: '/challenges/angular/scroll-cd', + // badge: { + // text: 'M', + // variant: 'caution', + // }, + // }, + // { + // label: 'Styling', + // link: '/challenges/angular/styling', + // badge: { + // text: 'M', + // variant: 'caution', + // }, + // }, + // { + // label: 'Dependancy Injection', + // link: '/challenges/angular/di', + // badge: { + // text: 'H', + // variant: 'danger', + // }, + // }, + // { + // label: 'Anchor Scrolling', + // link: '/challenges/angular/anchor-scrolling', + // badge: { + // text: 'E', + // variant: 'success', + // }, + // }, + // { + // label: 'Router Input', + // link: '/challenges/angular/router-input', + // badge: { + // text: 'E', + // variant: 'success', + // }, + // }, + // { + // label: 'Interop Rxjs Signal', + // link: '/challenges/angular/interop-rxjs-signal', + // badge: { + // text: 'H', + // variant: 'danger', + // }, + // }, + // { + // label: 'Module to Standalone', + // link: '/challenges/angular/modaule-to-standalone', + // badge: { + // text: 'E', + // variant: 'success', + // }, + // }, + // { + // label: 'Bug - Change Detection', + // link: '/challenges/angular/bug-cd', + // badge: { + // text: 'M', + // variant: 'caution', + // }, + // }, + // { + // label: "Component's Decoupling", + // link: '/challenges/angular/decoupling', + // badge: { + // text: 'M', + // variant: 'caution', + // }, + // }, + // ], + // }, + // { + // label: 'Angular - Performance', + // items: [ + // { + // label: 'Default vs OnPush', + // link: '/challenges/angular-performance/default-onpush', + // badge: { + // text: 'E', + // variant: 'success', + // }, + // }, + // ], + // }, + // { + // label: 'Testing', + // items: [ + // { + // label: 'Router', + // link: '/challenges/testing/router', + // badge: { + // text: 'M', + // variant: 'caution', + // }, + // }, + // { + // label: 'Nested Component', + // link: '/challenges/testing/nested-comp', + // badge: { + // text: 'M', + // variant: 'caution', + // }, + // }, + // { + // label: 'Input Output', + // link: '/challenges/testing/input-output', + // badge: { + // text: 'M', + // variant: 'caution', + // }, + // }, + // { + // label: 'Modal', + // link: '/challenges/testing/modal', + // badge: { + // text: 'M', + // variant: 'caution', + // }, + // }, + // { + // label: 'harness', + // link: '/challenges/testing/harness', + // badge: { + // text: 'E', + // variant: 'success', + // }, + // }, + // { + // label: 'Harness Creation', + // link: '/challenges/testing/harness-creation', + // badge: { + // text: 'M', + // variant: 'caution', + // }, + // }, + // { + // label: 'Checkbox', + // link: '/challenges/testing/checkbox', + // badge: { + // text: 'E', + // variant: 'success', + // }, + // }, + // { + // label: 'Reallife Application', + // link: '/challenges/testing/real-application', + // badge: { + // text: 'H', + // variant: 'danger', + // }, + // }, + // ], + // }, + // { + // label: 'RxJs', + // items: [ + // { + // label: 'Bug - Chaining Operators', + // link: '/challenges/rxjs/bug-chaining-operator', + // badge: { + // text: 'M', + // variant: 'caution', + // }, + // }, + // { + // label: 'Race Condition', + // link: '/challenges/rxjs/race-condition', + // badge: { + // text: 'E', + // variant: 'success', + // }, + // }, + // ], + // }, + // { + // label: 'Nx', + // items: [ + // { + // label: 'Extending Library Generator', + // link: '/challenges/nx/generator-lib-ext', + // badge: { + // text: 'H', + // variant: 'danger', + // }, + // }, + // { + // label: 'Component Generator', + // link: '/challenges/nx/generator-comp', + // badge: { + // text: 'M', + // variant: 'caution', + // }, + // }, + // { + // label: 'Custom Eslint Rule', + // link: '/challenges/nx/forbid-enum-rule', + // badge: { + // text: 'E', + // variant: 'success', + // }, + // }, + // ], + // }, + // { + // label: 'NgRx', + // items: [ + // { + // label: 'Effect vs Selector', + // link: '/challenges/ngrx/effect-selector', + // badge: { + // text: 'M', + // variant: 'caution', + // }, + // }, + // { + // label: 'Power of Effects', + // link: '/challenges/ngrx/power-effect', + // badge: { + // text: 'H', + // variant: 'danger', + // }, + // }, + // ], + // }, + // { + // label: 'Typescript', + // items: [ + // { + // label: 'Function Overload', + // link: '/challenges/typescript/overload-fn', + // badge: { + // text: 'M', + // variant: 'caution', + // }, + // }, + // ], + // }, + // ], }, ], }), diff --git a/docs/package-lock.json b/docs/package-lock.json index 8850707..92c1e25 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -9,6 +9,7 @@ "version": "0.0.1", "dependencies": { "@astrojs/starlight": "^0.10.0", + "@fontsource/ibm-plex-serif": "^5.0.8", "astro": "^3.0.6", "sharp": "^0.32.5" } @@ -814,6 +815,11 @@ "node": ">=12" } }, + "node_modules/@fontsource/ibm-plex-serif": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@fontsource/ibm-plex-serif/-/ibm-plex-serif-5.0.8.tgz", + "integrity": "sha512-KUp1E9Wzf2Umhr2SbpcF9HwgFJmuxvKAARmpl7GDDkIG30R1PMFJWxfSfQ7oX/oVBtomGq5RUTaMMUeE0ngEgw==" + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", diff --git a/docs/package.json b/docs/package.json index 4a0c7e9..069569d 100644 --- a/docs/package.json +++ b/docs/package.json @@ -11,6 +11,7 @@ }, "dependencies": { "@astrojs/starlight": "^0.10.0", + "@fontsource/ibm-plex-serif": "^5.0.8", "astro": "^3.0.6", "sharp": "^0.32.5" } diff --git a/docs/src/assets/header-github.png b/docs/src/assets/header-github.png new file mode 100644 index 0000000..08da88d Binary files /dev/null and b/docs/src/assets/header-github.png differ diff --git a/docs/src/content/docs/challenges/angular-performance/default-onpush.md b/docs/src/content/docs/challenges/angular-performance/default-onpush.md index 741cbaa..b9fbd1f 100644 --- a/docs/src/content/docs/challenges/angular-performance/default-onpush.md +++ b/docs/src/content/docs/challenges/angular-performance/default-onpush.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: TODO in progress description: Guide to submit an answer --- diff --git a/docs/src/content/docs/challenges/angular/achor-scrolling.md b/docs/src/content/docs/challenges/angular/achor-scrolling.md index 741cbaa..b9fbd1f 100644 --- a/docs/src/content/docs/challenges/angular/achor-scrolling.md +++ b/docs/src/content/docs/challenges/angular/achor-scrolling.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: TODO in progress description: Guide to submit an answer --- diff --git a/docs/src/content/docs/challenges/angular/bug-cd.md b/docs/src/content/docs/challenges/angular/bug-cd.md index 741cbaa..b9fbd1f 100644 --- a/docs/src/content/docs/challenges/angular/bug-cd.md +++ b/docs/src/content/docs/challenges/angular/bug-cd.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: TODO in progress description: Guide to submit an answer --- diff --git a/docs/src/content/docs/challenges/angular/context-outlet-typed.md b/docs/src/content/docs/challenges/angular/context-outlet-typed.md index 741cbaa..b9fbd1f 100644 --- a/docs/src/content/docs/challenges/angular/context-outlet-typed.md +++ b/docs/src/content/docs/challenges/angular/context-outlet-typed.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: TODO in progress description: Guide to submit an answer --- diff --git a/docs/src/content/docs/challenges/angular/crud.md b/docs/src/content/docs/challenges/angular/crud.md index 741cbaa..b9fbd1f 100644 --- a/docs/src/content/docs/challenges/angular/crud.md +++ b/docs/src/content/docs/challenges/angular/crud.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: TODO in progress description: Guide to submit an answer --- diff --git a/docs/src/content/docs/challenges/angular/decoupling.md b/docs/src/content/docs/challenges/angular/decoupling.md index 741cbaa..b9fbd1f 100644 --- a/docs/src/content/docs/challenges/angular/decoupling.md +++ b/docs/src/content/docs/challenges/angular/decoupling.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: TODO in progress description: Guide to submit an answer --- diff --git a/docs/src/content/docs/challenges/angular/di.md b/docs/src/content/docs/challenges/angular/di.md index 741cbaa..b9fbd1f 100644 --- a/docs/src/content/docs/challenges/angular/di.md +++ b/docs/src/content/docs/challenges/angular/di.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: TODO in progress description: Guide to submit an answer --- diff --git a/docs/src/content/docs/challenges/angular/directive-enhancement.md b/docs/src/content/docs/challenges/angular/directive-enhancement.md index 741cbaa..3859892 100644 --- a/docs/src/content/docs/challenges/angular/directive-enhancement.md +++ b/docs/src/content/docs/challenges/angular/directive-enhancement.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: 🟠 Directive Enhancement description: Guide to submit an answer --- diff --git a/docs/src/content/docs/challenges/angular/interop-rxjs-signal.md b/docs/src/content/docs/challenges/angular/interop-rxjs-signal.md index 741cbaa..b9fbd1f 100644 --- a/docs/src/content/docs/challenges/angular/interop-rxjs-signal.md +++ b/docs/src/content/docs/challenges/angular/interop-rxjs-signal.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: TODO in progress description: Guide to submit an answer --- diff --git a/docs/src/content/docs/challenges/angular/module-to-standalone.md b/docs/src/content/docs/challenges/angular/module-to-standalone.md index 741cbaa..b9fbd1f 100644 --- a/docs/src/content/docs/challenges/angular/module-to-standalone.md +++ b/docs/src/content/docs/challenges/angular/module-to-standalone.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: TODO in progress description: Guide to submit an answer --- diff --git a/docs/src/content/docs/challenges/angular/permissions.md b/docs/src/content/docs/challenges/angular/permissions.md index 741cbaa..b9fbd1f 100644 --- a/docs/src/content/docs/challenges/angular/permissions.md +++ b/docs/src/content/docs/challenges/angular/permissions.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: TODO in progress description: Guide to submit an answer --- diff --git a/docs/src/content/docs/challenges/angular/pipe-pure.md b/docs/src/content/docs/challenges/angular/pipe-pure.md index 741cbaa..b9fbd1f 100644 --- a/docs/src/content/docs/challenges/angular/pipe-pure.md +++ b/docs/src/content/docs/challenges/angular/pipe-pure.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: TODO in progress description: Guide to submit an answer --- diff --git a/docs/src/content/docs/challenges/angular/pipe-utility.md b/docs/src/content/docs/challenges/angular/pipe-utility.md index 741cbaa..b9fbd1f 100644 --- a/docs/src/content/docs/challenges/angular/pipe-utility.md +++ b/docs/src/content/docs/challenges/angular/pipe-utility.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: TODO in progress description: Guide to submit an answer --- diff --git a/docs/src/content/docs/challenges/angular/pipe-wrapFn.md b/docs/src/content/docs/challenges/angular/pipe-wrapFn.md index 741cbaa..b9fbd1f 100644 --- a/docs/src/content/docs/challenges/angular/pipe-wrapFn.md +++ b/docs/src/content/docs/challenges/angular/pipe-wrapFn.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: TODO in progress description: Guide to submit an answer --- diff --git a/docs/src/content/docs/challenges/angular/projection.md b/docs/src/content/docs/challenges/angular/projection.md index d54accf..75b7ee0 100644 --- a/docs/src/content/docs/challenges/angular/projection.md +++ b/docs/src/content/docs/challenges/angular/projection.md @@ -1,9 +1,9 @@ --- -title: Projection +title: 🟒 Projection description: angular-challenge-1/projection --- -#1 - Easy +> Challenge #1 ## Statement diff --git a/docs/src/content/docs/challenges/angular/router-input.md b/docs/src/content/docs/challenges/angular/router-input.md index 741cbaa..b9fbd1f 100644 --- a/docs/src/content/docs/challenges/angular/router-input.md +++ b/docs/src/content/docs/challenges/angular/router-input.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: TODO in progress description: Guide to submit an answer --- diff --git a/docs/src/content/docs/challenges/angular/scroll-cd.md b/docs/src/content/docs/challenges/angular/scroll-cd.md index 741cbaa..b9fbd1f 100644 --- a/docs/src/content/docs/challenges/angular/scroll-cd.md +++ b/docs/src/content/docs/challenges/angular/scroll-cd.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: TODO in progress description: Guide to submit an answer --- diff --git a/docs/src/content/docs/challenges/angular/styling.md b/docs/src/content/docs/challenges/angular/styling.md index 741cbaa..b9fbd1f 100644 --- a/docs/src/content/docs/challenges/angular/styling.md +++ b/docs/src/content/docs/challenges/angular/styling.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: TODO in progress description: Guide to submit an answer --- diff --git a/docs/src/content/docs/challenges/ngrx/effect-selector.md b/docs/src/content/docs/challenges/ngrx/effect-selector.md index 741cbaa..b9fbd1f 100644 --- a/docs/src/content/docs/challenges/ngrx/effect-selector.md +++ b/docs/src/content/docs/challenges/ngrx/effect-selector.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: TODO in progress description: Guide to submit an answer --- diff --git a/docs/src/content/docs/challenges/ngrx/power-effect.md b/docs/src/content/docs/challenges/ngrx/power-effect.md index 741cbaa..b9fbd1f 100644 --- a/docs/src/content/docs/challenges/ngrx/power-effect.md +++ b/docs/src/content/docs/challenges/ngrx/power-effect.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: TODO in progress description: Guide to submit an answer --- diff --git a/docs/src/content/docs/challenges/nx/forbid-enum-rule.md b/docs/src/content/docs/challenges/nx/forbid-enum-rule.md index 741cbaa..b9fbd1f 100644 --- a/docs/src/content/docs/challenges/nx/forbid-enum-rule.md +++ b/docs/src/content/docs/challenges/nx/forbid-enum-rule.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: TODO in progress description: Guide to submit an answer --- diff --git a/docs/src/content/docs/challenges/nx/generator-comp.md b/docs/src/content/docs/challenges/nx/generator-comp.md index 741cbaa..b9fbd1f 100644 --- a/docs/src/content/docs/challenges/nx/generator-comp.md +++ b/docs/src/content/docs/challenges/nx/generator-comp.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: TODO in progress description: Guide to submit an answer --- diff --git a/docs/src/content/docs/challenges/nx/generator-lib-ext.md b/docs/src/content/docs/challenges/nx/generator-lib-ext.md index 741cbaa..b9fbd1f 100644 --- a/docs/src/content/docs/challenges/nx/generator-lib-ext.md +++ b/docs/src/content/docs/challenges/nx/generator-lib-ext.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: TODO in progress description: Guide to submit an answer --- diff --git a/docs/src/content/docs/challenges/rxjs/bug-chaining-operator.md b/docs/src/content/docs/challenges/rxjs/bug-chaining-operator.md index 741cbaa..b9fbd1f 100644 --- a/docs/src/content/docs/challenges/rxjs/bug-chaining-operator.md +++ b/docs/src/content/docs/challenges/rxjs/bug-chaining-operator.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: TODO in progress description: Guide to submit an answer --- diff --git a/docs/src/content/docs/challenges/rxjs/race-condition.md b/docs/src/content/docs/challenges/rxjs/race-condition.md index 741cbaa..b9fbd1f 100644 --- a/docs/src/content/docs/challenges/rxjs/race-condition.md +++ b/docs/src/content/docs/challenges/rxjs/race-condition.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: TODO in progress description: Guide to submit an answer --- diff --git a/docs/src/content/docs/challenges/testing/checkbox.md b/docs/src/content/docs/challenges/testing/checkbox.md index 741cbaa..b9fbd1f 100644 --- a/docs/src/content/docs/challenges/testing/checkbox.md +++ b/docs/src/content/docs/challenges/testing/checkbox.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: TODO in progress description: Guide to submit an answer --- diff --git a/docs/src/content/docs/challenges/testing/harness-creation.md b/docs/src/content/docs/challenges/testing/harness-creation.md index 741cbaa..b9fbd1f 100644 --- a/docs/src/content/docs/challenges/testing/harness-creation.md +++ b/docs/src/content/docs/challenges/testing/harness-creation.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: TODO in progress description: Guide to submit an answer --- diff --git a/docs/src/content/docs/challenges/testing/harness.md b/docs/src/content/docs/challenges/testing/harness.md index 741cbaa..b9fbd1f 100644 --- a/docs/src/content/docs/challenges/testing/harness.md +++ b/docs/src/content/docs/challenges/testing/harness.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: TODO in progress description: Guide to submit an answer --- diff --git a/docs/src/content/docs/challenges/testing/input-output.md b/docs/src/content/docs/challenges/testing/input-output.md index 741cbaa..b9fbd1f 100644 --- a/docs/src/content/docs/challenges/testing/input-output.md +++ b/docs/src/content/docs/challenges/testing/input-output.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: TODO in progress description: Guide to submit an answer --- diff --git a/docs/src/content/docs/challenges/testing/modal.md b/docs/src/content/docs/challenges/testing/modal.md index 741cbaa..b9fbd1f 100644 --- a/docs/src/content/docs/challenges/testing/modal.md +++ b/docs/src/content/docs/challenges/testing/modal.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: TODO in progress description: Guide to submit an answer --- diff --git a/docs/src/content/docs/challenges/testing/nested-comp.md b/docs/src/content/docs/challenges/testing/nested-comp.md index 741cbaa..b9fbd1f 100644 --- a/docs/src/content/docs/challenges/testing/nested-comp.md +++ b/docs/src/content/docs/challenges/testing/nested-comp.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: TODO in progress description: Guide to submit an answer --- diff --git a/docs/src/content/docs/challenges/testing/real-application.md b/docs/src/content/docs/challenges/testing/real-application.md index 741cbaa..b9fbd1f 100644 --- a/docs/src/content/docs/challenges/testing/real-application.md +++ b/docs/src/content/docs/challenges/testing/real-application.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: TODO in progress description: Guide to submit an answer --- diff --git a/docs/src/content/docs/challenges/testing/router.md b/docs/src/content/docs/challenges/testing/router.md index 741cbaa..b9fbd1f 100644 --- a/docs/src/content/docs/challenges/testing/router.md +++ b/docs/src/content/docs/challenges/testing/router.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: TODO in progress description: Guide to submit an answer --- diff --git a/docs/src/content/docs/challenges/typescript/overload-fn.md b/docs/src/content/docs/challenges/typescript/overload-fn.md index 741cbaa..b9fbd1f 100644 --- a/docs/src/content/docs/challenges/typescript/overload-fn.md +++ b/docs/src/content/docs/challenges/typescript/overload-fn.md @@ -1,4 +1,4 @@ --- -title: Submit your answer +title: TODO in progress description: Guide to submit an answer --- diff --git a/docs/src/content/docs/guides/getting-started.md b/docs/src/content/docs/guides/getting-started.md index ece3d10..d6245af 100644 --- a/docs/src/content/docs/guides/getting-started.md +++ b/docs/src/content/docs/guides/getting-started.md @@ -3,9 +3,50 @@ title: Getting Started description: A guide on how to get started with Angular Challenges. --- -Guides lead a user through a specific task they want to accomplish, often with a sequence of steps. -Writing a good guide requires thinking about what your users are trying to do. +To get started with **Angular Challenges**, follow the step: -## Further reading +## Create a Github account -- Read [about how-to guides](https://diataxis.fr/how-to-guides/) in the DiΓ‘taxis framework +If you want to submit an answer, you will need your own Github account. Moreover it's always good to have one and it's free. + +## Folk the github project + +Go to [Angular Challenges Repository](https://github.com/tomalaforge/angular-challenges) and click on the **Fork** button in the header. This will create a copy of this repository inside your own Github page. + +## Clone the repository on your own machine + +Find a directory on your local computer, and clone this repository. Open a terminal, go to the choosen directory and tape this: + +```bash +git clone https://github.com/[YOUR_GITHUB_NAME]/angular-challenges.git +``` + +:::note +Your can find the url to clone on the button labeled <> Code on your **OWN INSTANCE** of the Angular Challenge repository. + +![Header of github workpspace](../../../assets/header-github.png) + +::: + +## Open the project inside your favourite IDE + +Open your project inside any IDE of your choice. + +## Install all dependancies + +```bash +npm install +``` + +## Choose a challenge + +Your project is now up and running. The only thing left to do is to choose a challenge πŸš€ + +Each challenge is composed by: + +- **NAME**: indicating what the challenge is about +- **NUMBER**: order of creation. The number doesn't have any particular meaning but helps to reference it inside Github Pull Request Section. +- **BADGE**: helps to visualize the degree of difficulty. It's totally subjectif πŸ˜… + - 🟒 easy + - 🟠 medium + - πŸ”΄ difficult diff --git a/docs/src/content/docs/guides/resolve-challenge.md b/docs/src/content/docs/guides/resolve-challenge.md new file mode 100644 index 0000000..712de6e --- /dev/null +++ b/docs/src/content/docs/guides/resolve-challenge.md @@ -0,0 +1,37 @@ +--- +title: Resolve a Challenge +description: Guide to resolve a challenge +--- + +In this guide, you will learn how to resolve a challenge and submit an answer to the main Github repository. + +## Presentation + +This repository is powered by [Nx](https://nx.dev/getting-started/intro). **Nx** is a monorepository allowing to store multiple application inside the same workspace. That's said, each challenges is a separate application. If you open the `apps` directory, you will found multiple directory all related to one challenge. Each directory is a complete standalone `Nx` application. To run and start with one, open your terminal and run + +```bash +npx nx serve +``` + +:::note +If you are not sure of your APPLICATION_NAME, open the README.md file. The `serve` command is written inside with a link to the documentation challenge. +::: + +:::note +If `nx` is installed globally on your device, you can avoid using `npx`. + +If you want to install `nx` globally, run + +```bash +npm i -g nx +``` + +::: + +## Create a git branch + +Before starting implementing your own solution to resolve a challenge, create a git branch to save your work. + +```bash +git checkout -b +``` diff --git a/docs/src/content/docs/guides/submit-answer.md b/docs/src/content/docs/guides/submit-answer.md deleted file mode 100644 index 741cbaa..0000000 --- a/docs/src/content/docs/guides/submit-answer.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Submit your answer -description: Guide to submit an answer ---- diff --git a/docs/src/content/docs/index.mdx b/docs/src/content/docs/index.mdx index a62f128..f872fa5 100644 --- a/docs/src/content/docs/index.mdx +++ b/docs/src/content/docs/index.mdx @@ -3,7 +3,7 @@ title: Welcome to Angular Challenges description: Get started by resolving those challenges and becoming a better Angular FrontEnd engineer. template: splash hero: - tagline: Congrats on setting up a new Starlight project! + tagline: Start now and become an Angular Expert! image: file: ../../assets/angular-challenge.webp actions: @@ -11,26 +11,31 @@ hero: link: /guides/getting-started/ icon: right-arrow variant: primary - - text: Read the Starlight docs - link: https://starlight.astro.build - icon: external + - text: Start your first challenge immediatly + link: /challenges/angular/projection/ + icon: rocket --- import { Card, CardGrid } from '@astrojs/starlight/components'; -## Next steps - - - - Edit `src/content/docs/index.mdx` to see this page change. + + + This repository gather more than 30 challenges about Angular, Nx, Ngrx, + Rxjs, Ngrx about real life issues or specific feature to level up your game. - - Add Markdown or MDX files to `src/content/docs` to create new pages. + + One goal of this repository is to break the barrier to OSS. By answering + challenges, you will learn how to start contributing to any other Open + Source Project. - - Edit your `sidebar` and other config in `astro.config.mjs`. + + It's always hard to learn and practise a new framework. This set of + challenges will give your real use cases to practise what you have been + learning and anybody can comment or help you out. Learning alone is great, + but learning alongside other is way better. - - Learn more in [the Starlight Docs](https://starlight.astro.build/). + + You have an issue, an interesing bug, an idea. Don't waste any time and + create your own challenges. diff --git a/docs/src/styles/custom-css.css b/docs/src/styles/custom-css.css new file mode 100644 index 0000000..28a114a --- /dev/null +++ b/docs/src/styles/custom-css.css @@ -0,0 +1,19 @@ +:root { + --sl-color-black: #1b1b1d; + --sl-color-gray-6: #242526; + --sl-color-accent-high: #f10023; + --sl-icon-color: #fff; + --sl-color-text-invert: #fff; + --primary-color: var(--sl-color-bg-nav) !important; + /* --sl-color-text-invert: #212121; */ + --cardBgColor: #242526; + /* --sl-font: 'IBM Plex Serif', serif; */ +} + +.code-btn { + border: 2px solid rgba(240, 246, 252, 0.1); + border-radius: 6px; + padding: 2px 8px; + background-color: rgb(35, 134, 54); + color: white; +}