<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url><loc>https://garage.sekrab.com/posts/putting-angular-fire-firestore-library-to-use-ii</loc><lastmod>2025-02-04T10:09:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/putting-angular-fire-firestore-library-to-use-i</loc><lastmod>2025-01-28T17:41:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/update-to-angular-19</loc><lastmod>2025-01-21T06:37:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/validation-style-final-tweaks</loc><lastmod>2025-01-17T17:45:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/angular-validation-common-functions</loc><lastmod>2025-01-15T15:11:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/angular-form-field-types</loc><lastmod>2025-01-13T10:00:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/angular-form-validation-directive</loc><lastmod>2025-01-07T17:13:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/using-css-to-validate-angular-reactive-form</loc><lastmod>2025-01-02T11:01:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/upgrading-to-angular-version-19</loc><lastmod>2024-12-19T17:26:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/replacing-angular-universal-with-ssr-version-17-0</loc><lastmod>2024-01-23T10:00:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/iii-firebase-for-authentication-only-in-angular</loc><lastmod>2024-01-16T10:09:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/ii-firebase-user-management-in-angular</loc><lastmod>2024-01-09T10:09:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/i-setting-up-angularfire-with-auth</loc><lastmod>2024-01-02T11:35:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/angular-standalone-in-ssr-update</loc><lastmod>2023-11-06T19:48:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/displaying-cacheable-content-with-a-partial-component-in-angular</loc><lastmod>2023-09-09T11:46:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/angular-ssr-refused-to-set-unsafe-header</loc><lastmod>2023-08-26T06:33:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/intersection-events-and-loose-ends</loc><lastmod>2023-08-15T10:58:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/lazy-loading-images-upon-intersection-in-angular</loc><lastmod>2023-08-01T14:15:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/intersection-observer-directive-to-add-and-remove-classes-in-angular</loc><lastmod>2023-07-19T16:59:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/a-cache-decorator-in-angular</loc><lastmod>2023-06-23T08:58:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/homemade-dialog-service-in-angular</loc><lastmod>2023-06-04T09:23:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/providing-services-to-programmatically-created-components</loc><lastmod>2023-05-30T14:08:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/templates-and-content-projection</loc><lastmod>2023-05-26T17:17:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/inserting-peach-component-into-rose-at-runtime</loc><lastmod>2023-05-22T07:32:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/creating-a-component-dynamically-and-programmatically-in-angular</loc><lastmod>2023-05-14T11:49:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/authentication-in-angular-part-v-handling-ssr</loc><lastmod>2023-03-13T22:50:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/authentication-in-angular-part-iv</loc><lastmod>2023-02-21T18:13:01.553Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/authentication-in-angular-part-iii</loc><lastmod>2023-02-14T07:59:02.047Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/authentication-in-angular-the-circular-dependency-in-di-issue-popping-its-ugly-head</loc><lastmod>2023-02-06T10:20:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/authentication-in-angular-why-it-is-so-hard-to-wrap-your-head-around-it</loc><lastmod>2023-01-31T10:05:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/five-tools-and-resources-for-web-that-survived-information-overload</loc><lastmod>2023-01-09T13:39:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/querying-groq-for-table-of-contents</loc><lastmod>2022-12-26T11:23:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/creating-a-loading-effect-using-rxjs-in-angular</loc><lastmod>2022-12-12T07:29:40.544Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/angular-standalone-httpclient-provider</loc><lastmod>2022-11-28T10:45:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/anchor-scrolling-in-angular</loc><lastmod>2022-11-22T13:06:54.666Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/express-slashing-syndrome-the-trailing-slash-and-other-topics</loc><lastmod>2022-11-09T08:34:14.381Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/fixing-the-trailing-slash-in-static-site-generation</loc><lastmod>2022-11-07T11:57:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/angular-standalone-router-providers-an-update</loc><lastmod>2022-10-31T11:58:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/how-to-turn-an-angular-app-into-standalone-part-ii</loc><lastmod>2022-10-28T15:29:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/how-to-turn-an-angular-app-into-standalone-part-i</loc><lastmod>2022-10-20T14:40:06.661Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/prerendering-in-angular-part-iv</loc><lastmod>2022-10-05T16:24:58.613Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/prerendering-in-angular-part-iii</loc><lastmod>2022-10-03T12:00:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/prerendering-in-angular-part-ii</loc><lastmod>2022-09-25T12:09:00.199Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/update-using-angular-titlestrategy</loc><lastmod>2022-09-22T13:31:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/prerender-routes-in-express-server-for-angular-part-i</loc><lastmod>2022-09-19T19:15:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/walk-with-an-eleventy-site-before-you-can-run</loc><lastmod>2022-09-04T10:32:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/conclusion-and-final-enhancements</loc><lastmod>2022-08-29T15:09:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/multilingual-angular-app-hosted-on-firebase-and-surge-with-the-same-build</loc><lastmod>2022-08-22T05:23:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/using-angular-app_base_href-token-to-serve-multilingual-apps-and-hosting-on-netlify</loc><lastmod>2022-08-15T04:28:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/pre-generating-multiple-index-files-using-angular-builders-and-gulp-tasks-to-serve-a-multilingual-angular-app</loc><lastmod>2022-08-08T10:41:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/currency-angular-pipe-ui-language-switch-and-a-verdict</loc><lastmod>2022-08-01T13:51:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/serving-a-different-index-html-in-an-angular-build-for-different-languages</loc><lastmod>2022-07-26T13:06:21.017Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/serving-the-same-angular-build-with-different-urls</loc><lastmod>2022-07-25T05:33:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/serving-multilingual-angular-application-with-expressjs</loc><lastmod>2022-07-18T16:11:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/alternative-way-to-localize-in-angular</loc><lastmod>2022-07-11T10:28:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/oops-you-found-me-again</loc><lastmod>2022-07-01T10:56:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/the-perfect-blockquote-part-iii-conclusion</loc><lastmod>2022-06-23T15:36:57.523Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/the-perfect-blockquote-part-ii-challenges</loc><lastmod>2022-06-22T14:00:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/the-perfect-blockquote-part-i-setup</loc><lastmod>2022-06-21T13:40:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/sunscreen</loc><lastmod>2022-06-15T14:36:42.674Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/localstorage-wrapper-service-in-angular</loc><lastmod>2022-06-09T04:29:32.446Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/blending-a-background-image-into-page-background-in-css</loc><lastmod>2022-06-06T17:20:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/auto-hiding-a-toast-message-in-angular</loc><lastmod>2022-05-31T06:23:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/catching-and-displaying-ui-errors-with-toast-messages-in-angular</loc><lastmod>2022-05-25T04:23:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/catching-and-handling-errors-in-angular</loc><lastmod>2022-05-18T17:24:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/writing-a-wrapper-for-console-log-for-better-control-in-angular-part-ii</loc><lastmod>2022-05-12T19:31:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/writing-a-wrapper-for-console-log-for-better-control-in-javascript-part-i</loc><lastmod>2022-05-07T12:12:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/gtm-tracking-service-in-angular-part-iii</loc><lastmod>2022-04-27T18:21:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/gtm-tracking-service-in-angular-part-ii</loc><lastmod>2022-04-25T12:37:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/gtm-tracking-service-in-angular</loc><lastmod>2022-04-18T19:12:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/angular-pagination-customizing-scrolling-behavior-through-scroll-event</loc><lastmod>2022-04-07T12:10:20.120Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/seo-in-angular-with-ssr-part-iii</loc><lastmod>2022-04-06T10:05:03.572Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/loading-external-configurations-in-angular-universal</loc><lastmod>2022-04-02T21:28:06.642Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/pagination-with-rxjs-state-and-route-params</loc><lastmod>2022-03-31T11:05:22.732Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/seo-in-angular-with-ssr-part-ii</loc><lastmod>2022-03-29T07:59:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/loading-external-configurations-inline-and-in-ssr-in-angular</loc><lastmod>2022-03-25T12:15:20.056Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/seo-in-angular-with-ssr-part-i</loc><lastmod>2022-03-22T06:25:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/script-to-send-a-whatsapp-message-to-yourself</loc><lastmod>2022-03-21T15:18:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/loading-external-configurations-app_initializer</loc><lastmod>2022-03-19T19:37:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/angular-a-shift-in-paradigm</loc><lastmod>2022-03-14T16:10:32.249Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/rxjs-based-state-management-in-angular-part-v</loc><lastmod>2022-03-14T16:09:46.447Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/to-draw-a-square-in-css-linear-gradient-think-of-triangles</loc><lastmod>2022-03-09T08:34:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/rxjs-based-state-management-in-angular-part-iv</loc><lastmod>2022-03-08T16:06:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/the-mystic-three-tokens-of-angular-app_bootstrap_listener-app_initializer-platform_initializer</loc><lastmod>2022-03-05T07:09:43.925Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/url-routing-params-are-only-valid-for-relative-urls</loc><lastmod>2022-03-03T13:28:01.636Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/the-easy-straightforward-way-to-create-demo-serverless-functions-on-netlify</loc><lastmod>2022-03-01T18:16:45.594Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/rxjs-based-state-management-in-angular-part-iii</loc><lastmod>2022-03-01T11:51:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/get-results-and-total-count-of-sanity-records-by-groq</loc><lastmod>2022-02-26T10:54:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/rxjs-based-state-management-in-angular-part-ii</loc><lastmod>2022-02-22T16:00:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/rxjs-based-angular-state-management</loc><lastmod>2022-02-15T16:29:06.072Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/the-before-initialization-error-of-angular</loc><lastmod>2021-11-07T05:48:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/add-filesystemaccess-support-to-angular</loc><lastmod>2021-08-20T07:57:22.321Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/fixing-the-ligatures-curse</loc><lastmod>2021-08-13T16:17:26.477Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/prismic-io-api-browser-gets-blocked-by-chrome-extension</loc><lastmod>2021-08-05T07:36:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/the-one-feature-less-has-that-overpowers-sass</loc><lastmod>2021-08-01T10:20:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/javascript-new-date-timezone-consideration</loc><lastmod>2021-07-20T11:52:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/console-live-logging-mishaps-and-pitfalls-and-how-to-avoid-them</loc><lastmod>2021-07-16T15:50:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/how-to-create-and-understand-zigzag-pattern-in-css-linear-gradient</loc><lastmod>2021-07-06T15:50:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/working-from-home-number-one-tip</loc><lastmod>2021-04-01T07:00:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/when-deploying-node-on-iis-with-different-environment-variable-on-remote-host</loc><lastmod>2021-04-01T07:00:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/dark-pattern-in-css</loc><lastmod>2021-03-17T07:00:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/npm-a-package-from-a-local-folder-using-npm-link</loc><lastmod>2021-03-11T07:00:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/making-your-content-shareable-on-linkedin-with-the-right-image</loc><lastmod>2021-03-11T07:00:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/fix-address-already-in-use-when-port-is-busy</loc><lastmod>2021-03-01T07:00:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/five-lessons-in-20-years</loc><lastmod>2021-02-14T07:00:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/color-contrast-function</loc><lastmod>2021-02-01T07:00:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/the-shortcut-that-almost-drove-me-crazy</loc><lastmod>2021-01-01T07:00:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/breaking-hidden-overflow-for-positioned-children</loc><lastmod>2020-12-01T07:00:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/sanitizing-background-image-url-in-angular</loc><lastmod>2020-12-01T07:00:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/four-gems-in-css-tricks-that-come-in-quite-handy</loc><lastmod>2020-11-01T07:00:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/how-to-reload-everything-in-a-component-upon-dynamic-param-change</loc><lastmod>2020-10-01T07:00:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/angular-universal-on-firebase-hosting-webpack-to-place-in-dist-folder</loc><lastmod>2020-09-01T07:00:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/angular-universal-on-firebase-hosting-serving-locally</loc><lastmod>2020-08-01T07:00:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/rxjs-passing-values-down-a-chain</loc><lastmod>2020-07-01T07:00:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/catch-window-beforeinstallprompt-event-as-it-happens-in-angular-app</loc><lastmod>2020-06-01T07:00:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/http-strict-transport-security</loc><lastmod>2020-05-01T07:00:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/six-different-flavors-of-hosting-your-web-app</loc><lastmod>2020-02-06T22:00:00.000Z</lastmod></url><url><loc>https://garage.sekrab.com/posts/going-sane</loc><lastmod>2020-01-01T07:00:00.000Z</lastmod></url></urlset>