mirror of
https://github.com/Raghu-Ch/angular-challenges.git
synced 2026-02-10 21:03:03 -05:00
346 lines
11 KiB
JavaScript
346 lines
11 KiB
JavaScript
import starlight from '@astrojs/starlight';
|
|
import { defineConfig } from 'astro/config';
|
|
|
|
// https://astro.build/config
|
|
export default defineConfig({
|
|
integrations: [
|
|
starlight({
|
|
title: 'Angular Challenges',
|
|
logo: {
|
|
src: './public/angular-challenge.webp',
|
|
alt: 'angular challenges logo',
|
|
},
|
|
favicon: './public/angular-challenge.ico',
|
|
social: {
|
|
github: 'https://github.com/withastro/starlight',
|
|
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',
|
|
autogenerate: { directory: 'guides' },
|
|
},
|
|
{
|
|
label: 'Challenges',
|
|
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',
|
|
// },
|
|
// },
|
|
// ],
|
|
// },
|
|
// ],
|
|
},
|
|
],
|
|
}),
|
|
],
|
|
});
|