diff --git a/src/roadmaps/angular/angular.md b/src/roadmaps/angular/angular.md
index 2a0265792..b1f7f7fce 100644
--- a/src/roadmaps/angular/angular.md
+++ b/src/roadmaps/angular/angular.md
@@ -1,5 +1,4 @@
---
-jsonUrl: "/jsons/angular.json"
pdfUrl: "/pdfs/angular.pdf"
order: 3
featuredTitle: "Angular"
diff --git a/src/roadmaps/angular/content/100-typescript-basics/100-what-is-typescript.md b/src/roadmaps/angular/content/100-typescript-basics/100-what-is-typescript.md
index 7082cfac4..804145ccc 100644
--- a/src/roadmaps/angular/content/100-typescript-basics/100-what-is-typescript.md
+++ b/src/roadmaps/angular/content/100-typescript-basics/100-what-is-typescript.md
@@ -2,9 +2,8 @@
TypeScript is a strongly typed, object-oriented, compiled programming language that builds on JavaScript. It is a superset of the JavaScript language, designed to give you better tooling at any scale. TypeScript calls itself “JavaScript with syntax for types.” In short, it is JavaScript with some additional features. The secret to the success of TypeScript is in the type checking, ensuring that the data flowing through the program is of the correct kind of data.
-{% resources %}
- {% Blog "https://thenewstack.io/what-is-typescript/", "What is TypeScript" %}
- {% Blog "https://www.w3schools.com/typescript/", "W3Schools – TypeScript Tutorial" %}
- {% Blog "https://www.tutorialspoint.com/typescript/index.htm", "Tutorials point – TypeScript Tutorial" %}
- {% Blog "https://www.youtube.com/watch?v=d56mG7DezGs", "TypeScript Crash Course for Beginners" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+What is TypeScript
+W3Schools – TypeScript Tutorial
+Tutorials point – TypeScript Tutorial
+TypeScript Crash Course for Beginners
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/100-typescript-basics/101-why-use-typescript.md b/src/roadmaps/angular/content/100-typescript-basics/101-why-use-typescript.md
index 3b8f2dbf6..7fc3f4253 100644
--- a/src/roadmaps/angular/content/100-typescript-basics/101-why-use-typescript.md
+++ b/src/roadmaps/angular/content/100-typescript-basics/101-why-use-typescript.md
@@ -2,7 +2,6 @@
TypeScript extends JavaScript, providing a better developer experience. The benefits of using TypeScript over JavaScript include.Static typing – TypeScript comes with optional static typing and a type inference system, which means that a variable declared with no type may be inferred by TypeScript based on its value. Object-oriented programming – TypeScript supports object-oriented programming concepts like classes, inheritance, etc. Compile time checks – JavaScript is an interpreted programming language. There is no compilation involved. Hence, the errors get caught during the runtime. Since TypeScript compiles into JavaScript, errors get reported during the compile time rather than the runtime. Code editor support – IDEs or code editors like VS Code support autocomplete for a TypeScript codebase. They also provide inline documentation and highlight the errors. Use existing packages – You might want to use an npm package written in JavaScript. Since TypeScript is a superset of JavaScript, you can import and use that package. Moreover, the TypeScript community creates and maintains type definitions for popular packages that can be utilized in your project.
-{% resources %}
- {% Blog "https://linguinecode.com/post/5-reasons-why-to-use-typescript", "linguinecode - Reasons to use TypeScript" %}
- {% Blog "https://www.codemotion.com/magazine/backend/why-you-should-use-typescript-for-your-next-project/", "Codemotion - Reasons to use TypeScript" %}
-{% endresources %}
+Free Content
+linguinecode - Reasons to use TypeScript
+Codemotion - Reasons to use TypeScript
diff --git a/src/roadmaps/angular/content/100-typescript-basics/102-structural-typing.md b/src/roadmaps/angular/content/100-typescript-basics/102-structural-typing.md
index 112f1f57a..7c9c2cd38 100644
--- a/src/roadmaps/angular/content/100-typescript-basics/102-structural-typing.md
+++ b/src/roadmaps/angular/content/100-typescript-basics/102-structural-typing.md
@@ -4,9 +4,8 @@ Type compatibility in TypeScript is based on structural subtyping. `Structural t
TypeScript’s structural type system was designed based on how JavaScript code is typically written. Because JavaScript widely uses anonymous objects like function expressions and object literals, it’s much more natural to represent the relationships found in JavaScript libraries with a structural type system instead of a nominal one.
-{% resources %}
- {% Blog "https://medium.com/redox-techblog/structural-typing-in-typescript-4b89f21d6004", "Structural typings — Medium" %}
- {% Blog "https://www.typescriptlang.org/docs/handbook/type-compatibility.html", "Structural typings — Typescriptlang" %}
- {% Blog "https://www.youtube.com/watch?v=kWtwsX_rT3k", "Structural typing video for Beginners" %}
-{% endresources %}
+Free Content
+Structural typings — Medium
+Structural typings — Typescriptlang
+Structural typing video for Beginners
diff --git a/src/roadmaps/angular/content/100-typescript-basics/103-type-inference.md b/src/roadmaps/angular/content/100-typescript-basics/103-type-inference.md
index 04dee4ac9..57c0b6886 100644
--- a/src/roadmaps/angular/content/100-typescript-basics/103-type-inference.md
+++ b/src/roadmaps/angular/content/100-typescript-basics/103-type-inference.md
@@ -2,7 +2,6 @@
In TypeScript, several places where `type inference` is used to provide type information when there is no explicit type annotation. The type of the x variable is inferred to be a number. This inference occurs when variables and members are initialized, set parameter default values are, and determine function return types. For example, `let x: number`. In most cases, type inference is straightforward. In the following sections, we’ll explore some nuances in how types are inferred. For example, `let x: (number | null)[]`
-{% resources %}
- {% Blog "https://www.typescriptlang.org/docs/handbook/type-inference.html", "Type Interface - typescriptlang" %}
- {% Blog "https://www.youtube.com/watch?v=3ui_st7rtfA", "Type Inference video for Beginners" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+Type Interface - typescriptlang
+Type Inference video for Beginners
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/100-typescript-basics/104-union-types.md b/src/roadmaps/angular/content/100-typescript-basics/104-union-types.md
index af44385bf..998cfd41c 100644
--- a/src/roadmaps/angular/content/100-typescript-basics/104-union-types.md
+++ b/src/roadmaps/angular/content/100-typescript-basics/104-union-types.md
@@ -2,7 +2,6 @@
In TypeScript, we can define a variable that can have multiple types of values. In other words, TypeScript can combine one or two types of data (i.e., number, string, etc.) in a single type, a union type. Union types are a powerful way to express a variable with multiple types. Two or more data types can be combined using the pipe ('|') symbol between the types. For example, `(type1 | type2 | type3 | .. | typeN)`.
-{% resources %}
- {% Blog "https://www.typescriptlang.org/docs/handbook/unions-and-intersections.html", "Union Types - typescriptlang" %}
- {% Blog "https://www.youtube.com/watch?v=uxjpm4W5pCo", "Union Type video for Beginners" %}
-{% endresources %}
+Free Content
+Union Types - typescriptlang
+Union Type video for Beginners
diff --git a/src/roadmaps/angular/content/100-typescript-basics/105-builtin-types.md b/src/roadmaps/angular/content/100-typescript-basics/105-builtin-types.md
index 46164e669..4f90e8a04 100644
--- a/src/roadmaps/angular/content/100-typescript-basics/105-builtin-types.md
+++ b/src/roadmaps/angular/content/100-typescript-basics/105-builtin-types.md
@@ -2,7 +2,6 @@
The Builtin types represent the different types of values supported by the language. The builtin types check the validity of the supplied values before they are stored or manipulated by the program. This ensures that the code behaves as expected. The Builtin types further allow for richer code hinting and automated documentation too.
-{% resources %}
- {% Blog "https://www.tutorialspoint.com/typescript/typescript_types.htm", "TypeScript Types - Tutorialspoint" %}
- {% Blog "https://www.youtube.com/watch?v=Nt9ajBrqV_M", "Builtin Type video for Beginners" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+TypeScript Types - Tutorialspoint
+Builtin Type video for Beginners
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/100-typescript-basics/106-type-guard.md b/src/roadmaps/angular/content/100-typescript-basics/106-type-guard.md
index cf8dccc0a..d482e65a6 100644
--- a/src/roadmaps/angular/content/100-typescript-basics/106-type-guard.md
+++ b/src/roadmaps/angular/content/100-typescript-basics/106-type-guard.md
@@ -6,6 +6,5 @@ TypeScript uses built-in JavaScript operators like `typeof`, `instanceof`, and t
Type guards are typically used for narrowing a type and are pretty similar to feature detection, allowing you to detect the correct methods, prototypes, and properties of a value. Therefore, you can quickly figure out how to handle that value.
-{% resources %}
- {% Blog "https://blog.logrocket.com/how-to-use-type-guards-typescript/", "Types Guards - Blog" %}
-{% endresources %}
+Free Content
+Types Guards - Blog
diff --git a/src/roadmaps/angular/content/100-typescript-basics/index.md b/src/roadmaps/angular/content/100-typescript-basics/readme.md
similarity index 57%
rename from src/roadmaps/angular/content/100-typescript-basics/index.md
rename to src/roadmaps/angular/content/100-typescript-basics/readme.md
index 532b4995f..a0bbef8a3 100644
--- a/src/roadmaps/angular/content/100-typescript-basics/index.md
+++ b/src/roadmaps/angular/content/100-typescript-basics/readme.md
@@ -2,7 +2,5 @@
In order to enter into the world of Angular application development, typescript is necessary and it is the primary language here. Typescript is a superset of JavaScript. It comes with design-time support which is useful for type safety and tooling. Since, browsers cannot execute the TypeScript directly, it will be 'Transpiled' into JavaScript using the tsc compiler.
-{% resources %}
- {% Blog "https://medium.com/jspoint/typescript-a-beginners-guide-6956fe8bcf9e", "Typescript a Beginners Guide" %}
- {% Blog "https://www.typescriptlang.org/play", "TypeScript Playground" %}
-{% endresources %}
+Typescript a Beginners Guide
+TypeScript Playground
diff --git a/src/roadmaps/angular/content/101-rxjs-basics/100-observable-pattern.md b/src/roadmaps/angular/content/101-rxjs-basics/100-observable-pattern.md
index 2bcfbcdf2..ae5d5f440 100644
--- a/src/roadmaps/angular/content/101-rxjs-basics/100-observable-pattern.md
+++ b/src/roadmaps/angular/content/101-rxjs-basics/100-observable-pattern.md
@@ -4,6 +4,5 @@ The observer pattern is a software design pattern in which an object, named the
Angular uses the Observer pattern which simply means — Observable objects are registered, and other objects observe (in Angular using the subscribe method) them and take action when the observable object is acted on in some way.
-{% resources %}
- {% Blog "https://medium.com/fuzzycloud/angular-and-observable-4bf890b2a282", "Angular and Observable" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+Angular and Observable
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/101-rxjs-basics/101-observable-lifecycle.md b/src/roadmaps/angular/content/101-rxjs-basics/101-observable-lifecycle.md
index 9093e8989..1cb930e3e 100644
--- a/src/roadmaps/angular/content/101-rxjs-basics/101-observable-lifecycle.md
+++ b/src/roadmaps/angular/content/101-rxjs-basics/101-observable-lifecycle.md
@@ -8,6 +8,5 @@ There are 4 stages for a life cycle of an observable.
- Execution
- Destruction
-{% resources %}
- {% Official "https://medium.com/analytics-vidhya/understanding-rxjs-observables-ad5b34d9607f", "Understanding Observable LifeCycle" %}
-{% endresources %}
+Free Content
+Understanding Observable LifeCycle
diff --git a/src/roadmaps/angular/content/101-rxjs-basics/102-marble-diagrams.md b/src/roadmaps/angular/content/101-rxjs-basics/102-marble-diagrams.md
index 34e624ddc..5b8ece304 100644
--- a/src/roadmaps/angular/content/101-rxjs-basics/102-marble-diagrams.md
+++ b/src/roadmaps/angular/content/101-rxjs-basics/102-marble-diagrams.md
@@ -1 +1,8 @@
-# Marble diagrams
\ No newline at end of file
+# Marble Diagrams
+
+Marble testing allows you to test asynchronous RxJS code synchronously and step-by-step with the help of RxJS TestScheduler test utility and using virtual time steps.
+
+Free Content
+Angular Marble Testing: A Brief Introduction
+IUnderstanding Marble Diagrams for Reactive Streams
+Interactive Diagrams
diff --git a/src/roadmaps/angular/content/101-rxjs-basics/103-rxjs-vs-promises.md b/src/roadmaps/angular/content/101-rxjs-basics/103-rxjs-vs-promises.md
index e07feeedd..adb4fb76d 100644
--- a/src/roadmaps/angular/content/101-rxjs-basics/103-rxjs-vs-promises.md
+++ b/src/roadmaps/angular/content/101-rxjs-basics/103-rxjs-vs-promises.md
@@ -1 +1,11 @@
-# Rxjs vs promises
\ No newline at end of file
+# RxJS vs Promises
+
+In a nutshell, the main differences between the Promise and the Observable are as follows:
+
+- The Promise is eager, whereas the Observable is lazy,
+- The Promise is always asynchronous, while the Observable can be either asynchronous or synchronous,
+- The Promise can provide a single value, whereas the Observable is a stream of values (from 0 to multiple values),
+you can apply RxJS operators to the Observable to get a new tailored stream.
+
+Free Content
+Why RxJS? RxJS vs Promises
diff --git a/src/roadmaps/angular/content/101-rxjs-basics/104-operators/index.md b/src/roadmaps/angular/content/101-rxjs-basics/104-operators/readme.md
similarity index 79%
rename from src/roadmaps/angular/content/101-rxjs-basics/104-operators/index.md
rename to src/roadmaps/angular/content/101-rxjs-basics/104-operators/readme.md
index 6e9c99ec0..51320cadb 100644
--- a/src/roadmaps/angular/content/101-rxjs-basics/104-operators/index.md
+++ b/src/roadmaps/angular/content/101-rxjs-basics/104-operators/readme.md
@@ -31,8 +31,12 @@ import { interval } from 'rxjs';
const observable = interval(1000 /* number of milliseconds */);
```
-{% resources %}
- {% Official "https://rxjs.dev/guide/operators#creation-operators-list", "List of creation operators" %}
- {% Official "https://rxjs.dev/guide/operators", "Full RxJS Operators Documentation" %}
-{% endresources %}
+List of creation operators
+
+
+## Higher-order Observables
+
+Observables most commonly emit ordinary values like strings and numbers, but surprisingly often, it is necessary to handle Observables of Observables, so-called higher-order Observables.
+
+Full RxJS Operators Documentation
diff --git a/src/roadmaps/angular/content/101-rxjs-basics/index.md b/src/roadmaps/angular/content/101-rxjs-basics/readme.md
similarity index 100%
rename from src/roadmaps/angular/content/101-rxjs-basics/index.md
rename to src/roadmaps/angular/content/101-rxjs-basics/readme.md
diff --git a/src/roadmaps/angular/content/102-angular-basics/100-angularjs-vs-angular.md b/src/roadmaps/angular/content/102-angular-basics/100-angularjs-vs-angular.md
index 2fc906ec2..5008965a7 100644
--- a/src/roadmaps/angular/content/102-angular-basics/100-angularjs-vs-angular.md
+++ b/src/roadmaps/angular/content/102-angular-basics/100-angularjs-vs-angular.md
@@ -2,7 +2,6 @@
AngularJS was the older version of Angular, whose support officially ended in January 2022. Angular is a component-based front-end development framework built on TypeScript, which includes a collection of well-integrated libraries that include features like routing, forms management, client-server communication, and more.
-{% resources %}
- {% Official "https://angularjs.org/", "AngularJS Website" %}
- {% Official "https://angular.io/start", "Official - Getting started with Angular" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+AngularJS Website
+Official - Getting started with Angular
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/102-angular-basics/101-angular-components.md b/src/roadmaps/angular/content/102-angular-basics/101-angular-components.md
index bd6c61c4e..37e779033 100644
--- a/src/roadmaps/angular/content/102-angular-basics/101-angular-components.md
+++ b/src/roadmaps/angular/content/102-angular-basics/101-angular-components.md
@@ -7,7 +7,6 @@ Components are the main building block for Angular applications. Each component
* A CSS selector that defines how the component is used in a template
* Optionally, CSS styles applied to the template
-{% resources %}
- {% Official "https://angular.io/guide/component-overview", "Angular Components Overview" %}
- {% Blog "https://www.youtube.com/watch?v=x5PZwb4XurU", "Standalone Components in Angular" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+Angular Components Overview
+Standalone Components in Angular
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/102-angular-basics/102-angular-templates.md b/src/roadmaps/angular/content/102-angular-basics/102-angular-templates.md
index 1cdb8d2cf..89530de91 100644
--- a/src/roadmaps/angular/content/102-angular-basics/102-angular-templates.md
+++ b/src/roadmaps/angular/content/102-angular-basics/102-angular-templates.md
@@ -2,7 +2,6 @@
A Template is a form of HTML which tells Angular to go towards another component. To create many Angular features, special syntax within the templates is used.
-{% resources %}
- {% Official "https://angular.io/guide/template-overview", "Understanding Templates" %}
- {% Official "https://angular.io/guide/template-syntax", "Template Syntax" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+Understanding Templates
+Template Syntax
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/102-angular-basics/103-angular-modules.md b/src/roadmaps/angular/content/102-angular-basics/103-angular-modules.md
index ae06be566..45e8a9dde 100644
--- a/src/roadmaps/angular/content/102-angular-basics/103-angular-modules.md
+++ b/src/roadmaps/angular/content/102-angular-basics/103-angular-modules.md
@@ -2,6 +2,5 @@
Modules in Angular act like a container where we can group the components, directives, pipes, and services, related to the application.
-{% resources %}
- {% Official "https://angular.io/guide/architecture-modules", "Introduction to Modules" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+Introduction to Modules
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/102-angular-basics/104-dependency-injection.md b/src/roadmaps/angular/content/102-angular-basics/104-dependency-injection.md
index 00c3b4d3b..cbf714dbf 100644
--- a/src/roadmaps/angular/content/102-angular-basics/104-dependency-injection.md
+++ b/src/roadmaps/angular/content/102-angular-basics/104-dependency-injection.md
@@ -2,7 +2,6 @@
Dependency Injection is one of the fundamental concepts in Angular. DI is wired into the Angular framework and allows classes with Angular decorators, such as Components, Directives, Pipes, and Injectables, to configure dependencies that they need.
-{% resources %}
- {% Official "https://angular.io/guide/dependency-injection", "Understanding Dependency Injection" %}
- {% Official "https://angular.io/guide/dependency-injection-in-action", "Dependency Injection in Action" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+Understanding Dependency Injection
+Dependency Injection in Action
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/102-angular-basics/105-services.md b/src/roadmaps/angular/content/102-angular-basics/105-services.md
index 88c2374d5..e6e4db7c6 100644
--- a/src/roadmaps/angular/content/102-angular-basics/105-services.md
+++ b/src/roadmaps/angular/content/102-angular-basics/105-services.md
@@ -2,9 +2,8 @@
Services let you define code or functionalities that are then accessible and reusable in many other components in the Angular project. It also helps you with the abstraction of logic and data that is hosted independently but can be shared across other components.
-{% resources %}
- {% Official "https://angular.io/tutorial/toh-pt4", "Services" %}
- {% Blog "https://www.javatpoint.com/what-is-an-angular-service", "What is an Angular Service" %}
- {% Blog "https://www.knowledgehut.com/blog/web-development/make-api-calls-angular", "Service for API Calls" %}
- {% Blog "https://www.positronx.io/angular-service-tutorial-with-example/", "Service Tutorial with Example" %}
-{% endresources %}
+Free Content
+Services
+What is an Angular Service
+Service for API Calls
+Service Tutorial with Example
diff --git a/src/roadmaps/angular/content/102-angular-basics/106-routing.md b/src/roadmaps/angular/content/102-angular-basics/106-routing.md
index 887e32b5a..a1695dfa8 100644
--- a/src/roadmaps/angular/content/102-angular-basics/106-routing.md
+++ b/src/roadmaps/angular/content/102-angular-basics/106-routing.md
@@ -2,7 +2,6 @@
Routing in Angular allows the users to create a single-page application with multiple views and allows navigation between them.
-{% resources %}
- {% Official "https://angular.io/guide/routing-overview", "Angular Routing" %}
- {% Official "https://angular.io/guide/router", "Common Routing Tasks" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+Angular Routing
+Common Routing Tasks
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/102-angular-basics/index.md b/src/roadmaps/angular/content/102-angular-basics/readme.md
similarity index 100%
rename from src/roadmaps/angular/content/102-angular-basics/index.md
rename to src/roadmaps/angular/content/102-angular-basics/readme.md
diff --git a/src/roadmaps/angular/content/103-angular-cli/100-ng-build.md b/src/roadmaps/angular/content/103-angular-cli/100-ng-build.md
index 3982d8b21..9b2972204 100644
--- a/src/roadmaps/angular/content/103-angular-cli/100-ng-build.md
+++ b/src/roadmaps/angular/content/103-angular-cli/100-ng-build.md
@@ -2,7 +2,6 @@
The command can be used to build a project of type "application" or "library". When used to build a library, a different builder is invoked, and only the ts-config, configuration, and watch options are applied. All other options apply only to building applications.
-{% resources %}
- {% Official "https://angular.io/cli/build", "Ng Build - Angular.io" %}
- {% Blog "https://www.youtube.com/watch?v=VB6WuCPDwz0", "Building an Angular project" %}
-{% endresources %}
\ No newline at end of file
+Free Resources
+Ng Build - Angular.io
+Building an Angular project
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/103-angular-cli/101-ng-serve.md b/src/roadmaps/angular/content/103-angular-cli/101-ng-serve.md
index 7aa07f7f6..b55cc6790 100644
--- a/src/roadmaps/angular/content/103-angular-cli/101-ng-serve.md
+++ b/src/roadmaps/angular/content/103-angular-cli/101-ng-serve.md
@@ -2,7 +2,6 @@
ng serve — This command builds, deploy, serves and every time watches your code changes. if find any change in code it builds and serves that code automatically. How do Angular builds? After coding our Angular apps using TypeScript, we use the Angular CLI command to build the app.
-{% resources %}
- {% Official "https://angular.io/cli/serve", "Ng serve - Angular.io" %}
- {% Blog "https://www.youtube.com/watch?v=-w-RfHcLt5U", "Running a project with ng serve" %}
-{% endresources %}
\ No newline at end of file
+Free Resources
+Ng serve - Angular.io
+Running a project with ng serve
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/103-angular-cli/102-ng-generate.md b/src/roadmaps/angular/content/103-angular-cli/102-ng-generate.md
index 9ac5d187f..94392ef86 100644
--- a/src/roadmaps/angular/content/103-angular-cli/102-ng-generate.md
+++ b/src/roadmaps/angular/content/103-angular-cli/102-ng-generate.md
@@ -3,7 +3,6 @@
ng generate is used to create the component in angular project. These are the two main ways to generate a new component in Angular: using ng g c , and using ng generate component . Using either of these two commands, the new component can be generated pretty easily and followed by the suitable component name of your choice.
-{% resources %}
- {% Official "https://angular.io/cli/generate", "Ng generate - Angular.io" %}
- {% Blog "https://www.youtube.com/watch?v=NlHlu_zzmo4", "Angular cli generate component" %}
-{% endresources %}
\ No newline at end of file
+Free Resources
+Ng generate - Angular.io
+Angular cli generate component
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/103-angular-cli/103-ng-test.md b/src/roadmaps/angular/content/103-angular-cli/103-ng-test.md
index 2c52b1fc4..67da9598a 100644
--- a/src/roadmaps/angular/content/103-angular-cli/103-ng-test.md
+++ b/src/roadmaps/angular/content/103-angular-cli/103-ng-test.md
@@ -5,7 +5,6 @@ ng test is used to runs unit tests in angular project.
`ng test [options]` | `ng t [options]`
-{% resources %}
- {% Official "https://angular.io/cli/test", "Ng test - Angular.io" %}
- {% Blog "https://www.youtube.com/watch?v=n1O_eRwzRKA", "Angular Ng test commands" %}
-{% endresources %}
\ No newline at end of file
+Free Resources
+Ng test - Angular.io
+Angular Ng test commands
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/103-angular-cli/104-ng-e2e.md b/src/roadmaps/angular/content/103-angular-cli/104-ng-e2e.md
index 4b4f5b0d8..c32c0dc88 100644
--- a/src/roadmaps/angular/content/103-angular-cli/104-ng-e2e.md
+++ b/src/roadmaps/angular/content/103-angular-cli/104-ng-e2e.md
@@ -2,7 +2,6 @@
End-to-end testing (E2E) of Angular applications is performed using the Protractor testing framework, which is created by the Angular team themselves. Protractor can perform end to end tests on Angular applications that are running in a real browser by interacting with it, similar to that of an end-user.
-{% resources %}
- {% Official "https://angular.io/cli/e2e", "Ng e2e - Angular.io" %}
- {% Blog "https://www.youtube.com/watch?v=3vFnhzEGfew", "Angular cli generate component" %}
-{% endresources %}
\ No newline at end of file
+Free Resources
+Ng e2e - Angular.io
+Angular cli generate component
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/103-angular-cli/105-ng-new.md b/src/roadmaps/angular/content/103-angular-cli/105-ng-new.md
index 1ec878868..25a555889 100644
--- a/src/roadmaps/angular/content/103-angular-cli/105-ng-new.md
+++ b/src/roadmaps/angular/content/103-angular-cli/105-ng-new.md
@@ -6,7 +6,6 @@ That’s the default usage of the command and creating a new project folder with
The default Angular project, All dependencies installed in node_modules folder , Testing files for each components
-{% resources %}
- {% Official "https://angular.io/cli/new", "Ng New - Angular.io" %}
- {% Blog "https://www.youtube.com/watch?v=NdEpZezptkQ", "ng New command" %}
-{% endresources %}
\ No newline at end of file
+Free Resources
+Ng New - Angular.io
+ng New command
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/103-angular-cli/106-schematics.md b/src/roadmaps/angular/content/103-angular-cli/106-schematics.md
index e0e53d70f..2474a11b3 100644
--- a/src/roadmaps/angular/content/103-angular-cli/106-schematics.md
+++ b/src/roadmaps/angular/content/103-angular-cli/106-schematics.md
@@ -2,7 +2,6 @@
A schematic is a template-based code generator that supports complex logic. It is a set of instructions for transforming a software project by generating or modifying code.
-{% resources %}
- {% Official "https://angular.io/guide/schematics#:~:text=A%20schematic%20is%20a%20template,collections%20and%20installed%20with%20npm.", "Angular Website" %}
- {% Official "https://blog.angular.io/schematics-an-introduction-dc1dfbc2a2b2?gi=ad9571373944", "Angular Blog" %}
-{% endresources %}
+Free Content
+Angular Website
+Angular Blog
diff --git a/src/roadmaps/angular/content/103-angular-cli/index.md b/src/roadmaps/angular/content/103-angular-cli/index.md
deleted file mode 100644
index 616dea0c3..000000000
--- a/src/roadmaps/angular/content/103-angular-cli/index.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# Angular CLI
-
-The Angular CLI is a command-line interface tool that you use to initialize, develop, scaffold, and maintain Angular applications directly from a command shell. we can install angular latest CLI using the following command
-
-`npm install -g @angular/cli`
-
-{% resources %}
- {% Official "https://angular.io/cli", "Angular CLI - Angular.io" %}
- {% Blog "https://www.youtube.com/watch?v=mZnzX3J5XKI", "Angular CLI - setup" %}
-{% endresources %}
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/103-angular-cli/readme.md b/src/roadmaps/angular/content/103-angular-cli/readme.md
new file mode 100644
index 000000000..65ab5bf61
--- /dev/null
+++ b/src/roadmaps/angular/content/103-angular-cli/readme.md
@@ -0,0 +1,9 @@
+# Angular CLI
+
+The Angular CLI is a command-line interface tool that you use to initialize, develop, scaffold, and maintain Angular applications directly from a command shell. we can install angular latest CLI using the following command
+
+`npm install -g @angular/cli`
+
+Free Resources
+Angular CLI - Angular.io
+Angular CLI - setup
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/104-templates/100-interpolation.md b/src/roadmaps/angular/content/104-templates/100-interpolation.md
index a0d2e71c1..e2dbf3bc3 100644
--- a/src/roadmaps/angular/content/104-templates/100-interpolation.md
+++ b/src/roadmaps/angular/content/104-templates/100-interpolation.md
@@ -2,6 +2,5 @@
Interpolation refers to embedding expressions into marked up text. By default, interpolation uses the double curly braces {{ and }} as delimiters. Angular replaces currentCustomer with the string value of the corresponding component property.
-{% resources %}
- {% Official "ttps://angular.io/guide/interpolation", "Angular Official Website" %}
-{% endresources %}
+Free Content
+Angular Official Website
diff --git a/src/roadmaps/angular/content/104-templates/101-property-binding.md b/src/roadmaps/angular/content/104-templates/101-property-binding.md
index d9e1c5661..6e9aa5b15 100644
--- a/src/roadmaps/angular/content/104-templates/101-property-binding.md
+++ b/src/roadmaps/angular/content/104-templates/101-property-binding.md
@@ -2,6 +2,6 @@
Property binding helps you set values for properties of HTML elements or directives. To bind to an element's property, enclose it in square brackets `[]` which causes Angular to evaluate the right-hand side of the assignment as a dynamic expression.
-{% resources %}
- {% Official "https://angular.io/guide/property-binding", "Angular Official Website" %}
-{% endresources %}
+Free Content
+
+Angular Official Website
diff --git a/src/roadmaps/angular/content/104-templates/102-template-statements.md b/src/roadmaps/angular/content/104-templates/102-template-statements.md
index b4eb670c5..d28731e60 100644
--- a/src/roadmaps/angular/content/104-templates/102-template-statements.md
+++ b/src/roadmaps/angular/content/104-templates/102-template-statements.md
@@ -2,6 +2,6 @@
Template statements are methods or properties that you can use in your HTML to respond to user events. With template statements, your application can engage users through actions such as displaying dynamic content or submitting forms. Enclose the event in `()` which causes Angular to evaluate the right hand side of the assignment as one or more template statements chained together using semicolon `;`.
-{% resources %}
- {% Official "https://angular.io/guide/template-statements", "Angular Official Website" %}
-{% endresources %}
+Free Content
+
+Angular Official Website
diff --git a/src/roadmaps/angular/content/104-templates/103-binding-data-props-attrs-events.md b/src/roadmaps/angular/content/104-templates/103-binding-data-props-attrs-events.md
index 1209d9ea2..0e7f1f7d0 100644
--- a/src/roadmaps/angular/content/104-templates/103-binding-data-props-attrs-events.md
+++ b/src/roadmaps/angular/content/104-templates/103-binding-data-props-attrs-events.md
@@ -7,6 +7,6 @@ In an Angular template, a binding creates a live connection between view and the
- **event**: lets you listen for and respond to user actions such as keystrokes, mouse movements, clicks, and touches.
- **data**: It's a combination of property and event binding and helps you share data between components.
-{% resources %}
- {% Official "https://angular.io/guide/binding-overview", "Angular Official Website" %}
-{% endresources %}
+Free Content
+
+Angular Official Website
diff --git a/src/roadmaps/angular/content/104-templates/104-reference-vars.md b/src/roadmaps/angular/content/104-templates/104-reference-vars.md
index a891e588b..fba486787 100644
--- a/src/roadmaps/angular/content/104-templates/104-reference-vars.md
+++ b/src/roadmaps/angular/content/104-templates/104-reference-vars.md
@@ -2,6 +2,6 @@
Template reference variables help you use data from one part of a template in another part of the template. A template variable can refer to a DOM element within a template, component or directive. In the template, use the hash symbol, `#`, to declare a template reference variable.
-{% resources %}
- {% Official "https://angular.io/guide/template-reference-variables", "Angular Official Website" %}
-{% endresources %}
+Free Content
+
+Angular Official Website
diff --git a/src/roadmaps/angular/content/104-templates/105-input-output.md b/src/roadmaps/angular/content/104-templates/105-input-output.md
index 0b21fe1be..fcb518cb5 100644
--- a/src/roadmaps/angular/content/104-templates/105-input-output.md
+++ b/src/roadmaps/angular/content/104-templates/105-input-output.md
@@ -2,6 +2,6 @@
`@Input()` and `@Output()` give a child component a way to communicate with its parent component. `@Input()` lets a parent component update data in the child component. Conversely, `@Output()` lets the child send data to a parent component.
-{% resources %}
- {% Official "https://angular.io/guide/inputs-outputs", "Angular Official Website" %}
-{% endresources %}
+Free Content
+
+Angular Official Website
diff --git a/src/roadmaps/angular/content/104-templates/index.md b/src/roadmaps/angular/content/104-templates/index.md
deleted file mode 100644
index c48eb55c4..000000000
--- a/src/roadmaps/angular/content/104-templates/index.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# Templates
-
-A template is a form of HTML that tells Angular how to render the component.
-
-{% resources %}
- {% Blog "https://angular.io/guide/architecture-components", "Introduction to Components and Templates" %}
-{% endresources %}
diff --git a/src/roadmaps/angular/content/104-templates/readme.md b/src/roadmaps/angular/content/104-templates/readme.md
new file mode 100644
index 000000000..cbdc54b18
--- /dev/null
+++ b/src/roadmaps/angular/content/104-templates/readme.md
@@ -0,0 +1,5 @@
+# Templates
+
+A template is a form of HTML that tells Angular how to render the component.
+
+Introduction to Components and Templates
diff --git a/src/roadmaps/angular/content/105-rendering-topics/100-builtin-directives.md b/src/roadmaps/angular/content/105-rendering-topics/100-builtin-directives.md
index d89335f39..10dc71018 100644
--- a/src/roadmaps/angular/content/105-rendering-topics/100-builtin-directives.md
+++ b/src/roadmaps/angular/content/105-rendering-topics/100-builtin-directives.md
@@ -5,7 +5,6 @@ SKDirectives are classes that add additional behavior to elements in your Angula
`NgClass` Adds and removes a set of CSS classes. | `NgStyle` Adds and removes a set of HTML styles. | `NgModel` Adds two-way data binding to an HTML form element.
-{% resources %}
- {% Official "https://angular.io/guide/built-in-directives", "Understanding BuiltIn Directives" %}
- {% Blog "https://thinkster.io/tutorials/angular-2-directives", "BuiltIn Directives Types" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+Understanding BuiltIn Directives
+BuiltIn Directives Types
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/105-rendering-topics/101-builtin-pipes.md b/src/roadmaps/angular/content/105-rendering-topics/101-builtin-pipes.md
index f3b2c4f43..b38dc6973 100644
--- a/src/roadmaps/angular/content/105-rendering-topics/101-builtin-pipes.md
+++ b/src/roadmaps/angular/content/105-rendering-topics/101-builtin-pipes.md
@@ -5,7 +5,6 @@ Use pipes to transform strings, currency amounts, dates, and other data for disp
`DatePipe` | `UpperCasePipe` | `LowerCasePipe` | `CurrencyPipe` | `DecimalPipe` | `PercentPipe`
-{% resources %}
- {% Official "https://angular.io/guide/pipes", "Understanding BuiltIn Pipes" %}
- {% Blog "https://codecraft.tv/courses/angular/pipes/built-in-pipes/", "BuiltIn Pipes - exampls" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+Understanding BuiltIn Pipes
+BuiltIn Pipes - exampls
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/105-rendering-topics/102-change-detection.md b/src/roadmaps/angular/content/105-rendering-topics/102-change-detection.md
index 547e5119d..2d8cea788 100644
--- a/src/roadmaps/angular/content/105-rendering-topics/102-change-detection.md
+++ b/src/roadmaps/angular/content/105-rendering-topics/102-change-detection.md
@@ -2,7 +2,6 @@
Change detection is the process through which Angular checks to see whether your application state has changed, and if any DOM needs to be updated. At a high level, Angular walks your components from top to bottom, looking for changes. Angular runs its change detection mechanism periodically so that changes to the data model are reflected in an application’s view. Change detection can be triggered either manually or through an asynchronous event
-{% resources %}
- {% Official "https://angular.io/guide/change-detection", "Understanding Change detection" %}
- {% Blog "https://www.youtube.com/watch?v=f8sA-i6gkGQ", "4 Runtime Performance Optimizations ( Change detection )" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+Understanding Change detection
+4 Runtime Performance Optimizations ( Change detection )
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/105-rendering-topics/index.md b/src/roadmaps/angular/content/105-rendering-topics/readme.md
similarity index 100%
rename from src/roadmaps/angular/content/105-rendering-topics/index.md
rename to src/roadmaps/angular/content/105-rendering-topics/readme.md
diff --git a/src/roadmaps/angular/content/106-forms/100-reactive-forms.md b/src/roadmaps/angular/content/106-forms/100-reactive-forms.md
index 3816b4605..f2d47debc 100644
--- a/src/roadmaps/angular/content/106-forms/100-reactive-forms.md
+++ b/src/roadmaps/angular/content/106-forms/100-reactive-forms.md
@@ -2,9 +2,8 @@
Reactive Forms in angular are those which used to handle the inputs coming from the user. We can define controls by using classes such as FormGroup and FormControl.
-{% resources %}
- {% Official "https://angular.io/guide/reactive-forms", "Reactive forms - Angular" %}
- {% Blog "https://www.javatpoint.com/angular-reactive-forms", "Angular Reactive Forms" %}
- {% Blog "https://www.digitalocean.com/community/tutorials/angular-reactive-forms-introduction", "How To Use Reactive Forms in Angular" %}
- {% Blog "https://www.youtube.com/watch?v=8k4ctDmVn7w", "Reactive Form in Angular" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+Reactive forms - Angular
+Angular Reactive Forms
+How To Use Reactive Forms in Angular
+Reactive Form in Angular
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/106-forms/101-template-driven-forms.md b/src/roadmaps/angular/content/106-forms/101-template-driven-forms.md
index 2e42d1076..bd66873fb 100644
--- a/src/roadmaps/angular/content/106-forms/101-template-driven-forms.md
+++ b/src/roadmaps/angular/content/106-forms/101-template-driven-forms.md
@@ -4,9 +4,8 @@ A Template driven form is the simplest form we can build in Angular. It is mainl
It uses two-way data-binding (ngModel) to create and handle the form components.
-{% resources %}
- {% Official "https://angular.io/guide/forms", "Building a template-driven form" %}
- {% Blog "https://codecraft.tv/courses/angular/forms/template-driven/", "Template-Driven Forms" %}
- {% Blog "https://www.youtube.com/watch?v=whr14XxB8-M", "Template driven form" %}
- {% Blog "https://www.youtube.com/watch?v=cVd4ZCIXprs", "Template driven form Validations" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+Building a template-driven form
+Template-Driven Forms
+Template driven form
+Template driven form Validations
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/106-forms/index.md b/src/roadmaps/angular/content/106-forms/index.md
deleted file mode 100644
index 54ae6c547..000000000
--- a/src/roadmaps/angular/content/106-forms/index.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# Forms
-
-Forms are used to handle user inputs in many applications. It enables users from entering sensitive information to performing several data entry tasks.
-
-Angular provides two approachs to handle user inputs trough forms: reactive and template-driven forms.
-
-{% resources %}
- {% Official "https://angular.io/guide/forms-overview", "Introduction to forms in Angular" %}
- {% Blog "https://www.w3schools.com/angular/angular_forms.asp", "Angular Forms" %}
- {% Blog "https://www.youtube.com/watch?v=-bGgjgx3fGs", "Angular Forms Tutorial" %}
- {% Blog "https://www.youtube.com/watch?v=hAaoPOx_oIw", "Building Forms in Angular Apps" %}
-{% endresources %}
diff --git a/src/roadmaps/angular/content/106-forms/readme.md b/src/roadmaps/angular/content/106-forms/readme.md
new file mode 100644
index 000000000..86feb8ed7
--- /dev/null
+++ b/src/roadmaps/angular/content/106-forms/readme.md
@@ -0,0 +1,11 @@
+# Forms
+
+Forms are used to handle user inputs in many applications. It enables users from entering sensitive information to performing several data entry tasks.
+
+Angular provides two approachs to handle user inputs trough forms: reactive and template-driven forms.
+
+Free Content
+Introduction to forms in Angular
+Angular Forms
+Angular Forms Tutorial
+Building Forms in Angular Apps
diff --git a/src/roadmaps/angular/content/107-routing/101-router-outlets.md b/src/roadmaps/angular/content/107-routing/101-router-outlets.md
index 1e1db159e..81884c1fc 100644
--- a/src/roadmaps/angular/content/107-routing/101-router-outlets.md
+++ b/src/roadmaps/angular/content/107-routing/101-router-outlets.md
@@ -4,6 +4,5 @@ The router-outlet is a directive that's available from the @angular/router packa
Thanks to the router outlet, your app will have multiple views/pages and the app template acts like a shell of your application. Any element, you add to the shell will be rendered in each view, only the part marked by the router outlet will be changed between views.
-{% resources %}
- {% Official "https://angular.io/api/router/RouterOutle", "Understanding Router Outlets" %}
-{% endresources %}
+Free Content
+Understanding Router Outlets
diff --git a/src/roadmaps/angular/content/107-routing/104-guards.md b/src/roadmaps/angular/content/107-routing/104-guards.md
index 8cd2f991e..b0f20c136 100644
--- a/src/roadmaps/angular/content/107-routing/104-guards.md
+++ b/src/roadmaps/angular/content/107-routing/104-guards.md
@@ -4,11 +4,9 @@ Angular route guards are interfaces provided by Angular which, when implemented,
Some types of angular guards are `CanActivate`, `CanActivateChild`, `CanLoad`, `CanDeactivate` and `Resolve`.
-{% resources %}
- {% Official "https://angular.io/api/router", "Angular Official Website" %}
- {% Official "https://angular.io/api/router/CanActivate", "Can Activate Guard" %}
- {% Official "https://angular.io/api/router/CanActivateChild", "Can Activate Child" %}
- {% Official "https://angular.io/api/router/CanDeactivate", "Can Deactivate" %}
- {% Official "https://angular.io/api/router/CanLoad", "Angular Can Load" %}
- {% Official "https://angular.io/api/router/CanMatch", "Can Match" %}
-{% endresources %}
+Angular Official Website
+Can Activate Guard
+Can Activate Child
+Can Deactivate
+Angular Can Load
+Can Match
diff --git a/src/roadmaps/angular/content/107-routing/105-lazy-loading.md b/src/roadmaps/angular/content/107-routing/105-lazy-loading.md
index 1f7d88ecd..67a72d995 100644
--- a/src/roadmaps/angular/content/107-routing/105-lazy-loading.md
+++ b/src/roadmaps/angular/content/107-routing/105-lazy-loading.md
@@ -2,7 +2,6 @@
Lazy loading is a technique in Angular that allows you to load JavaScript components asynchronously when a specific route is activated. It improves the application load time speed by splitting the application into several bundles. The bundles are loaded as required when the user navigates through the app.
-{% resources %}
- {% Blog "https://angular.io/guide/lazy-loading-ngmodules", "What is Lazy loading ? - Angular.io " %}
- {% Blog "https://www.youtube.com/watch?v=JjIQq9lh-Bw", "Angular Tutorial - Lazy Loading" %}
-{% endresources %}
+Free Content
+What is Lazy loading ? - Angular.io
+Angular Tutorial - Lazy Loading
diff --git a/src/roadmaps/angular/content/107-routing/index.md b/src/roadmaps/angular/content/107-routing/index.md
deleted file mode 100644
index 422dfa239..000000000
--- a/src/roadmaps/angular/content/107-routing/index.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Routing
-
-Routing in Angular allows the users to create a single-page application with multiple views and navigation between them. Users can switch between these views without losing the application state and properties.
-
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/routing-in-angular-9-10/", "What is Routing ? - Geeksforgeeks " %}
- {% Blog "https://angular.io/guide/router", "Explanation of Routing ? - Angular.io " %}
- {% Blog "https://www.youtube.com/watch?v=Nehk4tBxD4o", "Angular Tutorial - Routing and Navigation" %}
-{% endresources %}
diff --git a/src/roadmaps/angular/content/107-routing/readme.md b/src/roadmaps/angular/content/107-routing/readme.md
new file mode 100644
index 000000000..06b729f8e
--- /dev/null
+++ b/src/roadmaps/angular/content/107-routing/readme.md
@@ -0,0 +1,8 @@
+# Routing
+
+Routing in Angular allows the users to create a single-page application with multiple views and navigation between them. Users can switch between these views without losing the application state and properties.
+
+Free Content
+What is Routing ? - Geeksforgeeks
+Explanation of Routing ? - Angular.io
+Angular Tutorial - Routing and Navigation
diff --git a/src/roadmaps/angular/content/108-services-remote-data/100-dependency-injection.md b/src/roadmaps/angular/content/108-services-remote-data/100-dependency-injection.md
index f5050039c..8563e8280 100644
--- a/src/roadmaps/angular/content/108-services-remote-data/100-dependency-injection.md
+++ b/src/roadmaps/angular/content/108-services-remote-data/100-dependency-injection.md
@@ -2,8 +2,7 @@
Dependency Injection (DI) is a design pattern that creates the dependencies of a class and provides those objects to the class when required. Angular being a nice framework, provides a built-in dependency injection mechanism that creates and provides a runtime version of a dependency value using dependency injectors.
-{% resources %}
- {% Blog "https://angular.io/guide/dependency-injection", "What is Dependency Injection ? - angular.io " %}
- {% Blog "https://www.youtube.com/watch?v=OFPIGlxunL0", "Introduction of Dependency injection" %}
-{% endresources %}
+Free Content
+What is Dependency Injection ? - angular.io
+Introduction of Dependency injection
diff --git a/src/roadmaps/angular/content/108-services-remote-data/index.md b/src/roadmaps/angular/content/108-services-remote-data/index.md
deleted file mode 100644
index 814f40d7c..000000000
--- a/src/roadmaps/angular/content/108-services-remote-data/index.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Services
-
-Components shouldn't fetch or save data directly and shouldn't knowingly present fake data. They should focus on presenting data and delegate data access to a service. Service is where all the remote API calls exist to retrieve and provide data to components.
-
-{% resources %}
- {% Blog "https://angular.io/tutorial/toh-pt4", "Adding Services in Angular" %}
- {% Blog "https://angular.io/tutorial/toh-pt6", "Get Data from Server" %}
-{% endresources %}
diff --git a/src/roadmaps/angular/content/108-services-remote-data/readme.md b/src/roadmaps/angular/content/108-services-remote-data/readme.md
new file mode 100644
index 000000000..0fd240f20
--- /dev/null
+++ b/src/roadmaps/angular/content/108-services-remote-data/readme.md
@@ -0,0 +1,7 @@
+# Services
+
+Components shouldn't fetch or save data directly and shouldn't knowingly present fake data. They should focus on presenting data and delegate data access to a service. Service is where all the remote API calls exist to retrieve and provide data to components.
+
+Free Content
+Adding Services in Angular
+Get Data from Server
diff --git a/src/roadmaps/angular/content/109-lifecycle-hooks.md b/src/roadmaps/angular/content/109-lifecycle-hooks.md
index cf788d9e5..d9d100762 100644
--- a/src/roadmaps/angular/content/109-lifecycle-hooks.md
+++ b/src/roadmaps/angular/content/109-lifecycle-hooks.md
@@ -8,7 +8,6 @@ The following life cycle hooks of angular are :
`OnChanges` , `OnInit` , `DoCheck` , `OnDestroy` , `AfterContentInit` , `AfterContentChecked` , `AfterViewInit` , `AfterViewChecked`
-{% resources %}
- {% Blog "https://angular.io/guide/lifecycle-hooks", "What is Life Cycle Hooks? - Angular.io " %}
- {% Blog "https://blog.logrocket.com/angular-lifecycle-hooks/", "The life cycle hooks of angular - Blog " %}
-{% endresources %}
+Free Content
+What is Life Cycle Hooks? - Angular.io
+The life cycle hooks of angular - Blog
diff --git a/src/roadmaps/angular/content/110-state-management/100-ngxs.md b/src/roadmaps/angular/content/110-state-management/100-ngxs.md
index 6df3a15e3..223125cb3 100644
--- a/src/roadmaps/angular/content/110-state-management/100-ngxs.md
+++ b/src/roadmaps/angular/content/110-state-management/100-ngxs.md
@@ -2,9 +2,8 @@
Ngxs is a state management pattern for the Angular framework. It acts as a single source of truth for our application. Ngxs is very simple and easily implementable. It reduce lots of boilerplate code . It is a replacement for Ngrx. In Ngrx we are creating state, action, reducer, and effects but in Ngxs, we are creating only state and actions instead of all of this. Like Ngrx, Ngxs is also asynchronous and when we dispatch any action we can get a response back.
-{% resources %}
- {% Blog "https://www.ngxs.io/", "What is NGXS ? - Ngxs.io " %}
- {% Blog "https://medium.com/@knoldus/introduction-to-ngxs-state-management-pattern-library-for-angular-ec76f681ceba", "Details about NGXS - Medium " %}
- {% Blog "https://www.youtube.com/watch?v=SGj11j4hxmg", "Practise of NGXS" %}
-{% endresources %}
+Free Content
+What is NGXS ? - Ngxs.io
+Details about NGXS - Medium
+Practise of NGXS
diff --git a/src/roadmaps/angular/content/110-state-management/101-ngrx.md b/src/roadmaps/angular/content/110-state-management/101-ngrx.md
index 6ab91487e..a4bd256e7 100644
--- a/src/roadmaps/angular/content/110-state-management/101-ngrx.md
+++ b/src/roadmaps/angular/content/110-state-management/101-ngrx.md
@@ -1,9 +1,8 @@
# Ngrx
Ngrx is a group of Angular libraries for reactive extensions that implements the Redux pattern and it’s supercharged with RXJS.
-{% resources %}
- {% Blog "https://ngrx.io/", "What is NGRX ? - ngrx.io " %}
- {% Blog "https://ahmedrebai.medium.com/introduction-to-state-management-with-ngrx-and-angular-91f4ff27ec9f", "Details about NGRX - Medium " %}
- {% Blog "https://www.youtube.com/watch?v=f97ICOaekNU", "Practise of NGRX" %}
-{% endresources %}
+Free Content
+What is NGRX ? - ngrx.io
+Details about NGRX - Medium
+Practise of NGRX
diff --git a/src/roadmaps/angular/content/110-state-management/index.md b/src/roadmaps/angular/content/110-state-management/index.md
deleted file mode 100644
index 2f242acac..000000000
--- a/src/roadmaps/angular/content/110-state-management/index.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# State Management
-
-Application state management is the process of maintaining knowledge of an application's inputs across multiple related data flows that form a complete business transaction -- or a session -- to understand the condition of the app at any given moment. In computer science, an input is information put into the program by the user and state refers to the condition of an application according to its stored inputs -- saved as variables or constants. State can also be described as the collection of preserved information that forms a complete session.
-
-{% resources %}
- {% Blog "https://www.techtarget.com/searchapparchitecture/definition/state-management", "What is State Management?" %}
- {% Blog "https://blog.logrocket.com/angular-state-management-made-simple-with-ngrx/", " Angular state management made simple with NgRx" %}
- {% Blog "https://www.syncfusion.com/blogs/post/angular-state-management-with-ngrx.aspx", "Angular State Management with NgRx" %}
-{% endresources %}
diff --git a/src/roadmaps/angular/content/110-state-management/readme.md b/src/roadmaps/angular/content/110-state-management/readme.md
new file mode 100644
index 000000000..3bb91f719
--- /dev/null
+++ b/src/roadmaps/angular/content/110-state-management/readme.md
@@ -0,0 +1,9 @@
+# State Management
+
+Application state management is the process of maintaining knowledge of an application's inputs across multiple related data flows that form a complete business transaction -- or a session -- to understand the condition of the app at any given moment. In computer science, an input is information put into the program by the user and state refers to the condition of an application according to its stored inputs -- saved as variables or constants. State can also be described as the collection of preserved information that forms a complete session.
+
+Free Content
+
+What is State Management?
+ Angular state management made simple with NgRx
+Angular State Management with NgRx
diff --git a/src/roadmaps/angular/content/112-creating-a-custom-x/100-directive.md b/src/roadmaps/angular/content/112-creating-a-custom-x/100-directive.md
index 0c3205240..e3891c2b8 100644
--- a/src/roadmaps/angular/content/112-creating-a-custom-x/100-directive.md
+++ b/src/roadmaps/angular/content/112-creating-a-custom-x/100-directive.md
@@ -4,7 +4,6 @@ Directives are the functions that will execute whenever the Angular compiler fin
From the core concept, Angular directives are categorized into three categories: Attribute Directives, Structural Directives, and Component Directives.
-{% resources %}
- {% Blog "https://www.freecodecamp.org/news/angular-directives-learn-how-to-use-or-create-custom-directives-in-angular-c9b133c24442/", "Create a custom directive - Freecodecamp" %}
- {% Blog "https://www.youtube.com/watch?v=AoN56g6UAsE", "Create a custom directive video for Beginners" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+Create a custom directive - Freecodecamp
+Create a custom directive video for Beginners
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/112-creating-a-custom-x/101-pipe.md b/src/roadmaps/angular/content/112-creating-a-custom-x/101-pipe.md
index a7ff0cba2..256134a02 100644
--- a/src/roadmaps/angular/content/112-creating-a-custom-x/101-pipe.md
+++ b/src/roadmaps/angular/content/112-creating-a-custom-x/101-pipe.md
@@ -2,7 +2,6 @@
Pipes to transform strings, currency amounts, dates, and other data for display. Pipes are simple functions in template expressions to accept an input value and return a transformed value. Pipes are helpful because you can use them throughout your application while only declaring each pipe once. For example, you would use a pipe to show the date as April 15, 1988, rather than the raw string format.
-{% resources %}
- {% Blog "https://angular.io/guide/pipes-custom-data-trans", "Create a custom pipe - angular.io" %}
- {% Blog "https://www.youtube.com/watch?v=P2587FN4Y0w", "Create a custom pipe video for Beginners" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+Create a custom pipe - angular.io
+Create a custom pipe video for Beginners
\ No newline at end of file
diff --git a/src/roadmaps/angular/content/112-creating-a-custom-x/102-library.md b/src/roadmaps/angular/content/112-creating-a-custom-x/102-library.md
index c7aec06ef..32c225a1e 100644
--- a/src/roadmaps/angular/content/112-creating-a-custom-x/102-library.md
+++ b/src/roadmaps/angular/content/112-creating-a-custom-x/102-library.md
@@ -2,6 +2,5 @@
Use the Angular CLI and the npm package manager to build and publish your library as an npm package.
-{% resources %}
- {% Official "https://angular.io/guide/creating-libraries", "Angular Website" %}
-{% endresources %}
+Free Content
+Angular Website
diff --git a/src/roadmaps/angular/content/112-creating-a-custom-x/index.md b/src/roadmaps/angular/content/112-creating-a-custom-x/readme.md
similarity index 100%
rename from src/roadmaps/angular/content/112-creating-a-custom-x/index.md
rename to src/roadmaps/angular/content/112-creating-a-custom-x/readme.md
diff --git a/src/roadmaps/angular/content/113-angular-ssr/100-angular-universal.md b/src/roadmaps/angular/content/113-angular-ssr/100-angular-universal.md
index bae5f786a..ec8785101 100644
--- a/src/roadmaps/angular/content/113-angular-ssr/100-angular-universal.md
+++ b/src/roadmaps/angular/content/113-angular-ssr/100-angular-universal.md
@@ -2,7 +2,6 @@
Angular Universal also known as server-side rendering is tool which allows server to pre-render Angular application while user hits your website for first time.
-{% resources %}
- {% Official "https://angular.io/guide/universal", "Angular Website" %}
- {% Blog "https://github.com/angular/universal", "Github Repository" %}
-{% endresources %}
+Free Content
+Angular Website
+Github Repository
diff --git a/src/roadmaps/angular/content/113-angular-ssr/index.md b/src/roadmaps/angular/content/113-angular-ssr/readme.md
similarity index 61%
rename from src/roadmaps/angular/content/113-angular-ssr/index.md
rename to src/roadmaps/angular/content/113-angular-ssr/readme.md
index 38c32d92a..ef06eee07 100644
--- a/src/roadmaps/angular/content/113-angular-ssr/index.md
+++ b/src/roadmaps/angular/content/113-angular-ssr/readme.md
@@ -2,7 +2,5 @@
A normal Angular application executes in the browser, rendering pages in the DOM in response to user actions. Angular Universal executes on the server, generating static application pages that later get bootstrapped on the client. This means that the application generally renders more quickly, giving users a chance to view the application layout before it becomes fully interactive.
-{% resources %}
- {% Official "https://angular.io/guide/universal", "Angular Universal" %}
- {% Blog "https://web.dev/rendering-on-the-web/", "Rendering on the Web" %}
-{% endresources %}
+Angular Universal
+Rendering on the Web
diff --git a/src/roadmaps/angular/content/114-angular-ssg/100-scully.md b/src/roadmaps/angular/content/114-angular-ssg/100-scully.md
index e453f7c60..e042c0c02 100644
--- a/src/roadmaps/angular/content/114-angular-ssg/100-scully.md
+++ b/src/roadmaps/angular/content/114-angular-ssg/100-scully.md
@@ -2,7 +2,6 @@
Scully is the best static site generator for Angular projects looking to embrace the Jamstack. It will use your application and will create a static index. html for each of your pages/routes.
-{% resources %}
- {% Official "https://scully.io/", "Scully Website" %}
- {% Blog "https://github.com/scullyio/scully", "Github Repository" %}
-{% endresources %}
+Free Content
+Scully Website
+Github Repository
diff --git a/src/roadmaps/angular/content/114-angular-ssg/index.md b/src/roadmaps/angular/content/114-angular-ssg/readme.md
similarity index 100%
rename from src/roadmaps/angular/content/114-angular-ssg/index.md
rename to src/roadmaps/angular/content/114-angular-ssg/readme.md
diff --git a/src/roadmaps/angular/content/115-testing-angular-apps/100-testing-pipes.md b/src/roadmaps/angular/content/115-testing-angular-apps/100-testing-pipes.md
index 01b288672..4d02de04c 100644
--- a/src/roadmaps/angular/content/115-testing-angular-apps/100-testing-pipes.md
+++ b/src/roadmaps/angular/content/115-testing-angular-apps/100-testing-pipes.md
@@ -2,7 +2,6 @@
An Angular Pipe is a special function that is called from a Component template. Its purpose is to transform a value: You pass a value to the Pipe, the Pipe computes a new value and returns it.
-{% resources %}
- {% Blog "https://angular.io/guide/testing-pipes", "Angular.io Website" %}
- {% Blog "https://testing-angular.com/testing-pipes/", "Testing-Angular.com" %}
-{% endresources %}
+Free Content
+Angular.io Website
+Testing-Angular.com
diff --git a/src/roadmaps/angular/content/115-testing-angular-apps/101-testing-services.md b/src/roadmaps/angular/content/115-testing-angular-apps/101-testing-services.md
index 32716414f..2ab195be6 100644
--- a/src/roadmaps/angular/content/115-testing-angular-apps/101-testing-services.md
+++ b/src/roadmaps/angular/content/115-testing-angular-apps/101-testing-services.md
@@ -2,7 +2,6 @@
In an Angular application, Services are responsible for fetching, storing and processing data. Services are singletons, meaning there is only one instance of a Service during runtime. They are fit for central data storage, HTTP and WebSocket communication as well as data validation.
-{% resources %}
- {% Blog "https://angular.io/guide/testing-services", "Angular.io Website" %}
- {% Blog "https://testing-angular.com/testing-services/", "Testing-Angular.com" %}
-{% endresources %}
+Free Content
+Angular.io Website
+Testing-Angular.com
diff --git a/src/roadmaps/angular/content/115-testing-angular-apps/102-testing-component-bindings.md b/src/roadmaps/angular/content/115-testing-angular-apps/102-testing-component-bindings.md
index 728509339..4ba81acce 100644
--- a/src/roadmaps/angular/content/115-testing-angular-apps/102-testing-component-bindings.md
+++ b/src/roadmaps/angular/content/115-testing-angular-apps/102-testing-component-bindings.md
@@ -2,6 +2,5 @@
Angular processes all data bindings once for each JavaScript event cycle, from the root of the application component tree through all child components. Data binding plays an important role in communication between a template and its component, and is also important for communication between parent and child components.
-{% resources %}
- {% Blog "https://angular.io/guide/architecture-components#:~:text=Angular%20processes%20all%20data%20bindings,between%20parent%20and%20child%20components.", "Angular.io Website" %}
-{% endresources %}
+Free Content
+Angular.io Website
diff --git a/src/roadmaps/angular/content/115-testing-angular-apps/103-testing-directives.md b/src/roadmaps/angular/content/115-testing-angular-apps/103-testing-directives.md
index 906fef13c..f0249ba3a 100644
--- a/src/roadmaps/angular/content/115-testing-angular-apps/103-testing-directives.md
+++ b/src/roadmaps/angular/content/115-testing-angular-apps/103-testing-directives.md
@@ -2,7 +2,6 @@
Directives are classes that add new behavior or modify the existing behavior to the elements in the template. Basically directives are used to manipulate the DOM, for example adding/removing the element from DOM or changing the appearance of the DOM elements.
-{% resources %}
- {% Blog "https://angular.io/guide/testing-attribute-directives", "Angular.io Website" %}
- {% Blog "https://testing-angular.com/testing-directives/", "tesing-angular Website" %}
-{% endresources %}
+Free Content
+Angular.io Website
+tesing-angular Website
diff --git a/src/roadmaps/angular/content/115-testing-angular-apps/104-testing-component-templates.md b/src/roadmaps/angular/content/115-testing-angular-apps/104-testing-component-templates.md
index 0f9857352..ef37e5659 100644
--- a/src/roadmaps/angular/content/115-testing-angular-apps/104-testing-component-templates.md
+++ b/src/roadmaps/angular/content/115-testing-angular-apps/104-testing-component-templates.md
@@ -2,6 +2,5 @@
With a component template , you can save and reuse component processes and properties and create components from them; template-based components inherit the template's properties and process.
-{% resources %}
- {% Blog "https://angular.io/guide/architecture-components", "Angular.io Website" %}
-{% endresources %}
+Free Content
+Angular.io Website
diff --git a/src/roadmaps/angular/content/115-testing-angular-apps/index.md b/src/roadmaps/angular/content/115-testing-angular-apps/readme.md
similarity index 100%
rename from src/roadmaps/angular/content/115-testing-angular-apps/index.md
rename to src/roadmaps/angular/content/115-testing-angular-apps/readme.md
diff --git a/src/roadmaps/angular/content/readme.md b/src/roadmaps/angular/content/readme.md
new file mode 100644
index 000000000..4e768b56d
--- /dev/null
+++ b/src/roadmaps/angular/content/readme.md
@@ -0,0 +1 @@
+#
\ No newline at end of file
diff --git a/src/roadmaps/aspnet-core/aspnet-core.md b/src/roadmaps/aspnet-core/aspnet-core.md
index bafae5b8c..8fa766e38 100644
--- a/src/roadmaps/aspnet-core/aspnet-core.md
+++ b/src/roadmaps/aspnet-core/aspnet-core.md
@@ -1,5 +1,4 @@
---
-jsonUrl: "/jsons/aspnet-core.json"
pdfUrl: "/pdfs/aspnet-core.pdf"
order: 9
featuredTitle: "ASP.NET Core"
diff --git a/src/roadmaps/aspnet-core/content/100-basics-of-csharp/100-csharp.md b/src/roadmaps/aspnet-core/content/100-basics-of-csharp/100-csharp.md
index 3c0866ec0..e9416c556 100644
--- a/src/roadmaps/aspnet-core/content/100-basics-of-csharp/100-csharp.md
+++ b/src/roadmaps/aspnet-core/content/100-basics-of-csharp/100-csharp.md
@@ -2,7 +2,5 @@
C# is a modern coding language that was developed by Microsoft that focuses on applying the coding style to C++ and making it so that way it's more condensed and simple. It's similar to Java by both being static, strong, and manifestive languages. Both use the System's prebuilt class to do certain features like printing output to the screen, etc.C#, like Java, also contains a garbage collection, which removes lower-level maintenance code from the programmer.
-{% resources %}
- {% Blog "https://learn.microsoft.com/en-us/dotnet/csharp//", "C# official website?" %}
- {% Course "https://www.w3schools.com/CS/index.php", "The Beginners Guide to C#" %}
-{% endresources %}
+C# official website?
+The Beginner's Guide to C#
diff --git a/src/roadmaps/aspnet-core/content/100-basics-of-csharp/102-dotnet-cli.md b/src/roadmaps/aspnet-core/content/100-basics-of-csharp/102-dotnet-cli.md
index bda23dd96..a173373fb 100644
--- a/src/roadmaps/aspnet-core/content/100-basics-of-csharp/102-dotnet-cli.md
+++ b/src/roadmaps/aspnet-core/content/100-basics-of-csharp/102-dotnet-cli.md
@@ -1 +1,7 @@
-# Dotnet cli
\ No newline at end of file
+# .NET CLI
+
+.NET CLI is the command-line interface (CLI) for the .NET platform. It is a tool that provides a common interface for running .NET Core command-line tools and utilities. .NET Core is a cross-platform, open-source, and modular version of the .NET framework, and the .NET CLI provides a way to interact with it from the command line.
+
+Free Content
+Microsoft - .NET CLI overview
+Intro To The .NET CLI
\ No newline at end of file
diff --git a/src/roadmaps/aspnet-core/content/100-basics-of-csharp/index.md b/src/roadmaps/aspnet-core/content/100-basics-of-csharp/index.md
deleted file mode 100644
index ea0a373d6..000000000
--- a/src/roadmaps/aspnet-core/content/100-basics-of-csharp/index.md
+++ /dev/null
@@ -1 +0,0 @@
-# Basics of csharp
\ No newline at end of file
diff --git a/src/roadmaps/aspnet-core/content/100-basics-of-csharp/readme.md b/src/roadmaps/aspnet-core/content/100-basics-of-csharp/readme.md
new file mode 100644
index 000000000..a6aa6a0f1
--- /dev/null
+++ b/src/roadmaps/aspnet-core/content/100-basics-of-csharp/readme.md
@@ -0,0 +1,7 @@
+# C#
+
+C# (pronounced "C-sharp") is a general-purpose, object-oriented programming language developed by Microsoft. It is part of the .NET family of languages and is used to build a wide range of applications, from web and mobile applications to games and cloud services.
+
+C# is a statically-typed language, which means that the type of a variable must be specified when it is declared, and that the type of a value cannot be changed after it has been assigned. C# also supports object-oriented programming, which means that it provides features such as encapsulation, inheritance, and polymorphism.
+
+C# is a popular language for building .NET applications, and it is used by many large companies and organizations, including Microsoft, Dell, and IBM. It is a versatile language that can be used for a wide range of purposes, and it is well-suited for building scalable and maintainable software systems.
diff --git a/src/roadmaps/aspnet-core/content/101-general-development-skills/100-git.md b/src/roadmaps/aspnet-core/content/101-general-development-skills/100-git.md
index 959018824..f7f276bfe 100644
--- a/src/roadmaps/aspnet-core/content/101-general-development-skills/100-git.md
+++ b/src/roadmaps/aspnet-core/content/101-general-development-skills/100-git.md
@@ -2,9 +2,8 @@
[Git](https://git-scm.com/) is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
-{% resources %}
- {% Course "https://github.com/jlord/git-it-electron", "Learn Git on the command line" %}
- {% Blog "https://www.youtube.com/watch?v=zbKdDsNNOhg", "Version Control System Introduction" %}
- {% Blog "https://www.youtube.com/watch?v=SWYqp7iY_Tc", "Git & GitHub Crash Course For Beginners" %}
- {% Blog "https://youtu.be/Y9XZQO1n_7c?t=21", "Learn Git in 20 Minutes" %}
-{% endresources %}
+Free Content
+Learn Git on the command line
+Version Control System Introduction
+Git & GitHub Crash Course For Beginners
+Learn Git in 20 Minutes
diff --git a/src/roadmaps/aspnet-core/content/101-general-development-skills/102-vcs-hosting-services.md b/src/roadmaps/aspnet-core/content/101-general-development-skills/102-vcs-hosting-services.md
index 67e7a5a9b..a9357ef87 100644
--- a/src/roadmaps/aspnet-core/content/101-general-development-skills/102-vcs-hosting-services.md
+++ b/src/roadmaps/aspnet-core/content/101-general-development-skills/102-vcs-hosting-services.md
@@ -2,8 +2,7 @@
There are different repository hosting services with the most famous one being GitHub, GitLab and BitBucket. I would recommend creating an account on GitHub because that is where most of the OpenSource work is done and most of the developers are.
-{% resources %}
- {% Blog "https://github.com", "GitHub: Where the world builds software" %}
- {% Blog "https://gitlab.com", "GitLab: Iterate faster, innovate together" %}
- {% Blog "https://bitbucket.com", "BitBucket: The Git solution for professional teams" %}
-{% endresources %}
+Services Links
+GitHub: Where the world builds software
+GitLab: Iterate faster, innovate together
+BitBucket: The Git solution for professional teams
diff --git a/src/roadmaps/aspnet-core/content/101-general-development-skills/103-http-https.md b/src/roadmaps/aspnet-core/content/101-general-development-skills/103-http-https.md
index d14c78e79..60ff5dc54 100644
--- a/src/roadmaps/aspnet-core/content/101-general-development-skills/103-http-https.md
+++ b/src/roadmaps/aspnet-core/content/101-general-development-skills/103-http-https.md
@@ -8,14 +8,14 @@ HTTPS (**H**ypertext **T**ransfer **P**rotocol **S**ecure) is the secure version
`HTTPS = HTTP + SSL/TLS`
-{% resources %}
- {% Blog "https://www.cloudflare.com/en-gb/learning/ddos/glossary/hypertext-transfer-protocol-http/", "What is HTTP?" %}
- {% Blog "https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview", "An overview of HTTP" %}
- {% Blog "https://kamranahmed.info/blog/2016/08/13/http-in-depth", "Journey to HTTP/2" %}
- {% Blog "https://www.smashingmagazine.com/2021/08/http3-core-concepts-part1/", "HTTP/3 From A To Z: Core Concepts" %}
- {% Blog "https://www.youtube.com/watch?v=iYM2zFP3Zn0", "HTTP Crash Course & Exploration" %}
- {% Blog "https://www.cloudflare.com/en-gb/learning/ssl/what-is-https/", "What is HTTPS?" %}
- {% Blog "https://developers.google.com/web/fundamentals/security/encrypt-in-transit/why-https", "Why HTTPS Matters" %}
- {% Blog "https://developers.google.com/web/fundamentals/security/encrypt-in-transit/enable-https", "Enabling HTTPS on Your Servers" %}
- {% Blog "https://howhttps.works/", "How HTTPS works (comic)" %}
-{% endresources %}
+Free Content
+What is HTTP?
+An overview of HTTP
+Journey to HTTP/2
+HTTP/3 From A To Z: Core Concepts
+HTTP Crash Course & Exploration
+
+What is HTTPS?
+Why HTTPS Matters
+Enabling HTTPS on Your Servers
+How HTTPS works (comic)
diff --git a/src/roadmaps/aspnet-core/content/101-general-development-skills/104-datastructures-and-algorithms.md b/src/roadmaps/aspnet-core/content/101-general-development-skills/104-datastructures-and-algorithms.md
index c0926b510..10a8fdfa8 100644
--- a/src/roadmaps/aspnet-core/content/101-general-development-skills/104-datastructures-and-algorithms.md
+++ b/src/roadmaps/aspnet-core/content/101-general-development-skills/104-datastructures-and-algorithms.md
@@ -2,10 +2,9 @@
As the name indicates, a **Data Structure** is a way of organizing the data in the **memory** so it can be used efficiently. Some common data structures are array, linked list, stack, hashtable, queue, tree, heap, and graph.
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/data-structures", "What are Data Structures?" %}
- {% Blog "https://www.javatpoint.com/data-structure-tutorial", " Data Structures and Algorithms" %}
- {% Blog "https://www.youtube.com/watch?v=9rhT3P1MDHk&list=PLkZYeFmDuaN2-KUIv-mvbjfKszIGJ4FaY", "Data Structures Illustrated" %}
- {% Blog "https://dev.to/adavidoaiei/fundamental-data-structures-and-algorithms-in-c-4ocf", "C# resources" %}
- {% Blog "https://www.csharpstar.com/csharp-algorithms/", "Interview Questions about Data Structures" %}
-{% endresources %}
+Free Content
+What are Data Structures?
+ Data Structures and Algorithms
+Data Structures Illustrated
+C# resources
+Interview Questions about Data Structures
diff --git a/src/roadmaps/aspnet-core/content/101-general-development-skills/index.md b/src/roadmaps/aspnet-core/content/101-general-development-skills/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/101-general-development-skills/index.md
rename to src/roadmaps/aspnet-core/content/101-general-development-skills/readme.md
diff --git a/src/roadmaps/aspnet-core/content/102-database-fundamentals/102-stored-procedures.md b/src/roadmaps/aspnet-core/content/102-database-fundamentals/102-stored-procedures.md
index ff0ca159f..14de4b1e2 100644
--- a/src/roadmaps/aspnet-core/content/102-database-fundamentals/102-stored-procedures.md
+++ b/src/roadmaps/aspnet-core/content/102-database-fundamentals/102-stored-procedures.md
@@ -1 +1,5 @@
-# Stored procedures
\ No newline at end of file
+# Stored Procedures
+
+A stored procedure is a pre-compiled collection of SQL statements that can be executed on a database server. Stored procedures are typically used to perform specific tasks, such as retrieving data from a database, inserting or updating data, or performing complex calculations. They are stored on the database server and can be called or executed from a client application or other stored procedures. Stored procedures can improve database performance by reducing the amount of SQL code needed to be executed and allowing developers to reuse common pieces of code. They can also provide security by allowing database administrators to control which users have access to specific stored procedures.
+
+Stored Procedure Tutorial
diff --git a/src/roadmaps/aspnet-core/content/102-database-fundamentals/103-constraints.md b/src/roadmaps/aspnet-core/content/102-database-fundamentals/103-constraints.md
index 857142d89..e0d141c59 100644
--- a/src/roadmaps/aspnet-core/content/102-database-fundamentals/103-constraints.md
+++ b/src/roadmaps/aspnet-core/content/102-database-fundamentals/103-constraints.md
@@ -1 +1,5 @@
-# Constraints
\ No newline at end of file
+# Constraints
+
+Database constraints are rules that are used to limit the data that can be stored in a database table. These constraints can be used to ensure the integrity and accuracy of the data in the table, and they can be used to enforce business rules or other requirements. For example, a constraint might be used to ensure that a column only contains positive numbers, or to ensure that a column always has a unique value. Constraints can be specified at the time a table is created, or they can be added to an existing table. Some common types of constraints include primary keys, foreign keys, and NOT NULL constraints.
+
+SQL Constraints
diff --git a/src/roadmaps/aspnet-core/content/102-database-fundamentals/index.md b/src/roadmaps/aspnet-core/content/102-database-fundamentals/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/102-database-fundamentals/index.md
rename to src/roadmaps/aspnet-core/content/102-database-fundamentals/readme.md
diff --git a/src/roadmaps/aspnet-core/content/103-basics-of-aspnet-core/100-mvc.md b/src/roadmaps/aspnet-core/content/103-basics-of-aspnet-core/100-mvc.md
index ada383a85..a73b10d26 100644
--- a/src/roadmaps/aspnet-core/content/103-basics-of-aspnet-core/100-mvc.md
+++ b/src/roadmaps/aspnet-core/content/103-basics-of-aspnet-core/100-mvc.md
@@ -1 +1,9 @@
-# Mvc
\ No newline at end of file
+# MVC
+
+MVC is an architectural design pattern used for developing applications, specifically web applications. This pattern separates an application into three main logical components **Model View Controller**. Each architectural component is built to handle specific development aspects of an application.
+
+- **Model** - Handles all data-related logic. Interacts with Database.
+- **View** - Handles UI part of the applications (data presentation).
+- **Controller** - Handles request flow, and acts as an intermediary between view and model.
+
+MVC Official Documentation
diff --git a/src/roadmaps/aspnet-core/content/103-basics-of-aspnet-core/index.md b/src/roadmaps/aspnet-core/content/103-basics-of-aspnet-core/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/103-basics-of-aspnet-core/index.md
rename to src/roadmaps/aspnet-core/content/103-basics-of-aspnet-core/readme.md
diff --git a/src/roadmaps/aspnet-core/content/104-orm/100-entity-framework-core/index.md b/src/roadmaps/aspnet-core/content/104-orm/100-entity-framework-core/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/104-orm/100-entity-framework-core/index.md
rename to src/roadmaps/aspnet-core/content/104-orm/100-entity-framework-core/readme.md
diff --git a/src/roadmaps/aspnet-core/content/104-orm/index.md b/src/roadmaps/aspnet-core/content/104-orm/index.md
deleted file mode 100644
index de9a0a7df..000000000
--- a/src/roadmaps/aspnet-core/content/104-orm/index.md
+++ /dev/null
@@ -1 +0,0 @@
-# Orm
\ No newline at end of file
diff --git a/src/roadmaps/aspnet-core/content/104-orm/readme.md b/src/roadmaps/aspnet-core/content/104-orm/readme.md
new file mode 100644
index 000000000..3690c745f
--- /dev/null
+++ b/src/roadmaps/aspnet-core/content/104-orm/readme.md
@@ -0,0 +1,5 @@
+# ORM
+
+ORM stands for Object-Relational Mapping, and it is a technique that allows a developer to work with a database using objects. It is a way of abstracting the database so that the developer can think in terms of objects, rather than tables and SQL queries. This can make it easier to write and maintain code, as well as improve the performance of the application.
+
+ORM (Object Relational Mapping)
diff --git a/src/roadmaps/aspnet-core/content/105-dependency-injection/101-di-containers/index.md b/src/roadmaps/aspnet-core/content/105-dependency-injection/101-di-containers/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/105-dependency-injection/101-di-containers/index.md
rename to src/roadmaps/aspnet-core/content/105-dependency-injection/101-di-containers/readme.md
diff --git a/src/roadmaps/aspnet-core/content/105-dependency-injection/102-life-cycles/index.md b/src/roadmaps/aspnet-core/content/105-dependency-injection/102-life-cycles/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/105-dependency-injection/102-life-cycles/index.md
rename to src/roadmaps/aspnet-core/content/105-dependency-injection/102-life-cycles/readme.md
diff --git a/src/roadmaps/aspnet-core/content/105-dependency-injection/index.md b/src/roadmaps/aspnet-core/content/105-dependency-injection/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/105-dependency-injection/index.md
rename to src/roadmaps/aspnet-core/content/105-dependency-injection/readme.md
diff --git a/src/roadmaps/aspnet-core/content/106-caching/102-distributed-cache/101-redis/index.md b/src/roadmaps/aspnet-core/content/106-caching/102-distributed-cache/101-redis/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/106-caching/102-distributed-cache/101-redis/index.md
rename to src/roadmaps/aspnet-core/content/106-caching/102-distributed-cache/101-redis/readme.md
diff --git a/src/roadmaps/aspnet-core/content/106-caching/102-distributed-cache/index.md b/src/roadmaps/aspnet-core/content/106-caching/102-distributed-cache/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/106-caching/102-distributed-cache/index.md
rename to src/roadmaps/aspnet-core/content/106-caching/102-distributed-cache/readme.md
diff --git a/src/roadmaps/aspnet-core/content/106-caching/index.md b/src/roadmaps/aspnet-core/content/106-caching/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/106-caching/index.md
rename to src/roadmaps/aspnet-core/content/106-caching/readme.md
diff --git a/src/roadmaps/aspnet-core/content/107-databases/100-search-engines/index.md b/src/roadmaps/aspnet-core/content/107-databases/100-search-engines/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/107-databases/100-search-engines/index.md
rename to src/roadmaps/aspnet-core/content/107-databases/100-search-engines/readme.md
diff --git a/src/roadmaps/aspnet-core/content/107-databases/101-cloud/index.md b/src/roadmaps/aspnet-core/content/107-databases/101-cloud/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/107-databases/101-cloud/index.md
rename to src/roadmaps/aspnet-core/content/107-databases/101-cloud/readme.md
diff --git a/src/roadmaps/aspnet-core/content/107-databases/102-relational/index.md b/src/roadmaps/aspnet-core/content/107-databases/102-relational/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/107-databases/102-relational/index.md
rename to src/roadmaps/aspnet-core/content/107-databases/102-relational/readme.md
diff --git a/src/roadmaps/aspnet-core/content/107-databases/103-nosql/index.md b/src/roadmaps/aspnet-core/content/107-databases/103-nosql/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/107-databases/103-nosql/index.md
rename to src/roadmaps/aspnet-core/content/107-databases/103-nosql/readme.md
diff --git a/src/roadmaps/aspnet-core/content/107-databases/index.md b/src/roadmaps/aspnet-core/content/107-databases/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/107-databases/index.md
rename to src/roadmaps/aspnet-core/content/107-databases/readme.md
diff --git a/src/roadmaps/aspnet-core/content/108-log-frameworks/102-log-management-system/index.md b/src/roadmaps/aspnet-core/content/108-log-frameworks/102-log-management-system/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/108-log-frameworks/102-log-management-system/index.md
rename to src/roadmaps/aspnet-core/content/108-log-frameworks/102-log-management-system/readme.md
diff --git a/src/roadmaps/aspnet-core/content/108-log-frameworks/index.md b/src/roadmaps/aspnet-core/content/108-log-frameworks/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/108-log-frameworks/index.md
rename to src/roadmaps/aspnet-core/content/108-log-frameworks/readme.md
diff --git a/src/roadmaps/aspnet-core/content/109-api-clients/100-rest/index.md b/src/roadmaps/aspnet-core/content/109-api-clients/100-rest/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/109-api-clients/100-rest/index.md
rename to src/roadmaps/aspnet-core/content/109-api-clients/100-rest/readme.md
diff --git a/src/roadmaps/aspnet-core/content/109-api-clients/102-graphql/index.md b/src/roadmaps/aspnet-core/content/109-api-clients/102-graphql/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/109-api-clients/102-graphql/index.md
rename to src/roadmaps/aspnet-core/content/109-api-clients/102-graphql/readme.md
diff --git a/src/roadmaps/aspnet-core/content/109-api-clients/index.md b/src/roadmaps/aspnet-core/content/109-api-clients/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/109-api-clients/index.md
rename to src/roadmaps/aspnet-core/content/109-api-clients/readme.md
diff --git a/src/roadmaps/aspnet-core/content/110-real-time-communication/index.md b/src/roadmaps/aspnet-core/content/110-real-time-communication/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/110-real-time-communication/index.md
rename to src/roadmaps/aspnet-core/content/110-real-time-communication/readme.md
diff --git a/src/roadmaps/aspnet-core/content/111-object-mapping/index.md b/src/roadmaps/aspnet-core/content/111-object-mapping/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/111-object-mapping/index.md
rename to src/roadmaps/aspnet-core/content/111-object-mapping/readme.md
diff --git a/src/roadmaps/aspnet-core/content/112-task-scheduling/index.md b/src/roadmaps/aspnet-core/content/112-task-scheduling/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/112-task-scheduling/index.md
rename to src/roadmaps/aspnet-core/content/112-task-scheduling/readme.md
diff --git a/src/roadmaps/aspnet-core/content/113-testing/100-e2e-testing/index.md b/src/roadmaps/aspnet-core/content/113-testing/100-e2e-testing/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/113-testing/100-e2e-testing/index.md
rename to src/roadmaps/aspnet-core/content/113-testing/100-e2e-testing/readme.md
diff --git a/src/roadmaps/aspnet-core/content/113-testing/101-unit-testing/index.md b/src/roadmaps/aspnet-core/content/113-testing/101-unit-testing/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/113-testing/101-unit-testing/index.md
rename to src/roadmaps/aspnet-core/content/113-testing/101-unit-testing/readme.md
diff --git a/src/roadmaps/aspnet-core/content/113-testing/102-integration-testing/index.md b/src/roadmaps/aspnet-core/content/113-testing/102-integration-testing/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/113-testing/102-integration-testing/index.md
rename to src/roadmaps/aspnet-core/content/113-testing/102-integration-testing/readme.md
diff --git a/src/roadmaps/aspnet-core/content/113-testing/103-behavior-testing/index.md b/src/roadmaps/aspnet-core/content/113-testing/103-behavior-testing/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/113-testing/103-behavior-testing/index.md
rename to src/roadmaps/aspnet-core/content/113-testing/103-behavior-testing/readme.md
diff --git a/src/roadmaps/aspnet-core/content/113-testing/index.md b/src/roadmaps/aspnet-core/content/113-testing/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/113-testing/index.md
rename to src/roadmaps/aspnet-core/content/113-testing/readme.md
diff --git a/src/roadmaps/aspnet-core/content/114-microservices/100-message-brokers/index.md b/src/roadmaps/aspnet-core/content/114-microservices/100-message-brokers/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/114-microservices/100-message-brokers/index.md
rename to src/roadmaps/aspnet-core/content/114-microservices/100-message-brokers/readme.md
diff --git a/src/roadmaps/aspnet-core/content/114-microservices/101-message-bus/index.md b/src/roadmaps/aspnet-core/content/114-microservices/101-message-bus/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/114-microservices/101-message-bus/index.md
rename to src/roadmaps/aspnet-core/content/114-microservices/101-message-bus/readme.md
diff --git a/src/roadmaps/aspnet-core/content/114-microservices/102-kubernetes.md b/src/roadmaps/aspnet-core/content/114-microservices/102-kubernetes.md
index ddf04c9b3..e08de302d 100644
--- a/src/roadmaps/aspnet-core/content/114-microservices/102-kubernetes.md
+++ b/src/roadmaps/aspnet-core/content/114-microservices/102-kubernetes.md
@@ -1 +1,12 @@
-# Kubernetes
\ No newline at end of file
+# Kubernetes
+
+Kubernetes is an [open source](https://github.com/kubernetes/kubernetes) container management platform, and the dominant product in this space. Using Kubernetes, teams can deploy images across multiple underlying hosts, defining their desired availability, deployment logic, and scaling logic in YAML. Kubernetes evolved from Borg, an internal Google platform used to provision and allocate compute resources. (similar to the Autopilot and Aquaman systems of Microsoft Azure)
+
+The popularity of Kubernetes has made it an increasingly important skill for the DevOps Engineer and has triggered the creation of Platform teams across the industry. These Platform engineering teams often exist with the sole purpose of making Kubernetes approachable and usable for their product development colleagues.
+
+Free Content
+Kubernetes Website
+Kubernetes Documentation
+Kubernetes Crash Course for Absolute Beginners
+Primer: How Kubernetes Came to Be, What It Is, and Why You Should Care
+Kubernetes: An Overview
diff --git a/src/roadmaps/aspnet-core/content/114-microservices/index.md b/src/roadmaps/aspnet-core/content/114-microservices/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/114-microservices/index.md
rename to src/roadmaps/aspnet-core/content/114-microservices/readme.md
diff --git a/src/roadmaps/aspnet-core/content/115-ci-cd/index.md b/src/roadmaps/aspnet-core/content/115-ci-cd/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/115-ci-cd/index.md
rename to src/roadmaps/aspnet-core/content/115-ci-cd/readme.md
diff --git a/src/roadmaps/aspnet-core/content/116-client-side-libraries/index.md b/src/roadmaps/aspnet-core/content/116-client-side-libraries/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/116-client-side-libraries/index.md
rename to src/roadmaps/aspnet-core/content/116-client-side-libraries/readme.md
diff --git a/src/roadmaps/aspnet-core/content/117-template-engines/index.md b/src/roadmaps/aspnet-core/content/117-template-engines/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/117-template-engines/index.md
rename to src/roadmaps/aspnet-core/content/117-template-engines/readme.md
diff --git a/src/roadmaps/aspnet-core/content/118-good-to-know-libraries/index.md b/src/roadmaps/aspnet-core/content/118-good-to-know-libraries/readme.md
similarity index 100%
rename from src/roadmaps/aspnet-core/content/118-good-to-know-libraries/index.md
rename to src/roadmaps/aspnet-core/content/118-good-to-know-libraries/readme.md
diff --git a/src/roadmaps/aspnet-core/content/readme.md b/src/roadmaps/aspnet-core/content/readme.md
new file mode 100644
index 000000000..4e768b56d
--- /dev/null
+++ b/src/roadmaps/aspnet-core/content/readme.md
@@ -0,0 +1 @@
+#
\ No newline at end of file
diff --git a/src/roadmaps/backend/backend.md b/src/roadmaps/backend/backend.md
index db2b9ac49..ed0f1504b 100644
--- a/src/roadmaps/backend/backend.md
+++ b/src/roadmaps/backend/backend.md
@@ -1,21 +1,20 @@
---
-jsonUrl: "/jsons/backend.json"
pdfUrl: "/pdfs/backend.pdf"
order: 2
featuredTitle: "Backend"
-featuredDescription: "Step by step guide to becoming a backend developer in 2022"
+featuredDescription: "Step by step guide to becoming a backend developer in 2023"
title: "Backend Developer"
-description: "Step by step guide to becoming a modern backend developer in 2022"
+description: "Step by step guide to becoming a modern backend developer in 2023"
hasTopics: true
dimensions:
width: 968
- height: 2458.52
+ height: 2840.4
seo:
title: "Backend Developer Roadmap: Learn to become a modern backend developer"
description: "Learn to become a modern backend developer using this roadmap. Community driven, articles, resources, guides, interview questions, quizzes for modern backend development."
keywords:
- - "backend roadmap 2022"
- - "backend developer roadmap 2022"
+ - "backend roadmap 2023"
+ - "backend developer roadmap 2023"
- "guide to becoming a developer"
- "guide to becoming a backend developer"
- "backend roadmap"
@@ -46,7 +45,6 @@ relatedRoadmaps:
- "javascript"
- "nodejs"
- "postgresql-dba"
- - "software-design-architecture"
sitemap:
priority: 1
changefreq: "monthly"
diff --git a/src/roadmaps/backend/content/100-internet/100-how-does-the-internet-work.md b/src/roadmaps/backend/content/100-internet/100-how-does-the-internet-work.md
index 7e0f91579..44658e1be 100644
--- a/src/roadmaps/backend/content/100-internet/100-how-does-the-internet-work.md
+++ b/src/roadmaps/backend/content/100-internet/100-how-does-the-internet-work.md
@@ -2,11 +2,10 @@
The Internet is a global network of computers connected to each other which communicate through a standardized set of protocols.
-{% resources %}
- {% Blog "https://www.vox.com/2014/6/16/18076282/the-internet", "The Internet Explained" %}
- {% Blog "http://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm", "How Does the Internet Work?" %}
- {% Blog "/guides/what-is-internet", "Introduction to Internet" %}
- {% Blog "https://www.youtube.com/watch?v=x3c1ih2NJEg", "How does the Internet work?" %}
- {% Blog "https://www.youtube.com/watch?v=7_LPdttKXPc", "How the Internet Works in 5 Minutes" %}
- {% Blog "https://www.youtube.com/watch?v=zN8YNNHcaZc", "How does the internet work? (Full Course)" %}
-{% endresources %}
+Free Content
+The Internet Explained
+How Does the Internet Work?
+Introduction to Internet
+How does the Internet work?
+How the Internet Works in 5 Minutes
+How does the internet work? (Full Course)
diff --git a/src/roadmaps/backend/content/100-internet/101-what-is-http.md b/src/roadmaps/backend/content/100-internet/101-what-is-http.md
index 321d57bbc..33ed25e6d 100644
--- a/src/roadmaps/backend/content/100-internet/101-what-is-http.md
+++ b/src/roadmaps/backend/content/100-internet/101-what-is-http.md
@@ -2,11 +2,10 @@
HTTP is the `TCP/IP` based application layer communication protocol which standardizes how the client and server communicate with each other. It defines how the content is requested and transmitted across the internet.
-{% resources %}
- {% Blog "https://www.cloudflare.com/en-gb/learning/ddos/glossary/hypertext-transfer-protocol-http/", "What is HTTP?" %}
- {% Blog "https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview", "An overview of HTTP" %}
- {% Blog "https://kamranahmed.info/blog/2016/08/13/http-in-depth", "Journey to HTTP/2" %}
- {% Blog "https://www.smashingmagazine.com/2021/08/http3-core-concepts-part1/", "HTTP/3 From A To Z: Core Concepts" %}
- {% Blog "https://www.youtube.com/watch?v=a-sBfyiXysI", "HTTP/1 to HTTP/2 to HTTP/3" %}
- {% Blog "https://www.youtube.com/watch?v=iYM2zFP3Zn0", "HTTP Crash Course & Exploration" %}
-{% endresources %}
+Free Content
+What is HTTP?
+An overview of HTTP
+Journey to HTTP/2
+HTTP/3 From A To Z: Core Concepts
+HTTP/1 to HTTP/2 to HTTP/3
+HTTP Crash Course & Exploration
diff --git a/src/roadmaps/backend/content/100-internet/102-browsers-and-how-they-work.md b/src/roadmaps/backend/content/100-internet/102-browsers-and-how-they-work.md
index 73f983b41..2202067c8 100644
--- a/src/roadmaps/backend/content/100-internet/102-browsers-and-how-they-work.md
+++ b/src/roadmaps/backend/content/100-internet/102-browsers-and-how-they-work.md
@@ -2,8 +2,7 @@
A web browser is a software application that enables a user to access and display web pages or other online content through its graphical user interface.
-{% resources %}
- {% Blog "https://www.html5rocks.com/en/tutorials/internals/howbrowserswork/", "How Browsers Work" %}
- {% Blog "https://www.browserstack.com/guide/browser-rendering-engine", "Role of Rendering Engine in Browsers" %}
- {% Blog "https://developer.mozilla.org/en-US/docs/Web/Performance/How_browsers_work", "Populating the Page: How Browsers Work" %}
-{% endresources %}
+Free Content
+How Browsers Work
+Role of Rendering Engine in Browsers
+Populating the Page: How Browsers Work
diff --git a/src/roadmaps/backend/content/100-internet/103-dns-and-how-it-works.md b/src/roadmaps/backend/content/100-internet/103-dns-and-how-it-works.md
index 81ecfdf5b..c11c882f7 100644
--- a/src/roadmaps/backend/content/100-internet/103-dns-and-how-it-works.md
+++ b/src/roadmaps/backend/content/100-internet/103-dns-and-how-it-works.md
@@ -2,10 +2,9 @@
The Domain Name System (DNS) is the phonebook of the Internet. Humans access information online through domain names, like nytimes.com or espn.com. Web browsers interact through Internet Protocol (IP) addresses. DNS translates domain names to IP addresses so browsers can load Internet resources.
-{% resources %}
- {% Blog "https://www.cloudflare.com/en-gb/learning/dns/what-is-dns/", "What is DNS?" %}
- {% Blog "https://howdns.works/", "How DNS works (comic)" %}
- {% Blog "https://www.youtube.com/watch?v=Wj0od2ag5sk", "DNS and How does it Work?" %}
- {% Blog "https://www.youtube.com/watch?v=7lxgpKh_fRY", "DNS Records" %}
- {% Blog "https://www.youtube.com/watch?v=zEmUuNFBgN8&list=PLTk5ZYSbd9MhMmOiPhfRJNW7bhxHo4q-K", "Complete DNS mini-series" %}
-{% endresources %}
+Free Content
+What is DNS?
+How DNS works (comic)
+DNS and How does it Work?
+DNS Records
+Complete DNS mini-series
diff --git a/src/roadmaps/backend/content/100-internet/104-what-is-domain-name.md b/src/roadmaps/backend/content/100-internet/104-what-is-domain-name.md
index 7b217a65b..1fb0a759e 100644
--- a/src/roadmaps/backend/content/100-internet/104-what-is-domain-name.md
+++ b/src/roadmaps/backend/content/100-internet/104-what-is-domain-name.md
@@ -2,8 +2,7 @@
A domain name is a unique, easy-to-remember address used to access websites, such as ‘google.com’, and ‘facebook.com’. Users can connect to websites using domain names thanks to the DNS system.
-{% resources %}
- {% Blog "https://developer.mozilla.org/en-US/docs/Learn/Common_questions/What_is_a_domain_name", "What is a Domain Name?" %}
- {% Blog "https://www.cloudflare.com/en-gb/learning/dns/glossary/what-is-a-domain-name/", "What is a Domain Name? | Domain name vs. URL" %}
- {% Blog "https://www.youtube.com/watch?v=Y4cRx19nhJk", "A Beginners Guide to How Domain Names Work" %}
-{% endresources %}
+Free Content
+What is a Domain Name?
+What is a Domain Name? | Domain name vs. URL
+A Beginners Guide to How Domain Names Work
diff --git a/src/roadmaps/backend/content/100-internet/105-what-is-hosting.md b/src/roadmaps/backend/content/100-internet/105-what-is-hosting.md
index f2b3d37aa..7ab9b4f76 100644
--- a/src/roadmaps/backend/content/100-internet/105-what-is-hosting.md
+++ b/src/roadmaps/backend/content/100-internet/105-what-is-hosting.md
@@ -2,8 +2,7 @@
Web hosting is an online service that allows you to publish your website files onto the internet. So, anyone who has access to the internet has access to your website.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=htbY9-yggB0", "What Is Web Hosting? Explained" %}
- {% Blog "https://www.youtube.com/watch?v=AXVZYzw8geg", "Different Types of Web Hosting Explained" %}
- {% Blog "https://www.youtube.com/watch?v=Kx_1NYYJS7Q", "Where to Host a Fullstack Project on a Budget" %}
-{% endresources %}
+Free Content
+What Is Web Hosting? Explained
+Different Types of Web Hosting Explained
+Where to Host a Fullstack Project on a Budget
diff --git a/src/roadmaps/backend/content/100-internet/index.md b/src/roadmaps/backend/content/100-internet/index.md
deleted file mode 100644
index a17347723..000000000
--- a/src/roadmaps/backend/content/100-internet/index.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# Internet
-
-The Internet is a global network of computers connected to each other which communicate through a standardized set of protocols.
-
-{% resources %}
- {% Blog "https://www.vox.com/2014/6/16/18076282/the-internet", "The Internet Explained" %}
- {% Blog "http://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm", "How Does the Internet Work?" %}
- {% Blog "/guides/what-is-internet", "Introduction to Internet" %}
- {% Blog "https://www.youtube.com/watch?v=x3c1ih2NJEg", "How does the Internet work?" %}
- {% Blog "https://www.youtube.com/watch?v=7_LPdttKXPc", "How the Internet Works in 5 Minutes" %}
-{% endresources %}
diff --git a/src/roadmaps/backend/content/100-internet/readme.md b/src/roadmaps/backend/content/100-internet/readme.md
new file mode 100644
index 000000000..6573fbf08
--- /dev/null
+++ b/src/roadmaps/backend/content/100-internet/readme.md
@@ -0,0 +1,10 @@
+# Internet
+
+The Internet is a global network of computers connected to each other which communicate through a standardized set of protocols.
+
+Free Content
+The Internet Explained
+How Does the Internet Work?
+Introduction to Internet
+How does the Internet work?
+How the Internet Works in 5 Minutes
diff --git a/src/roadmaps/backend/content/101-basic-frontend/100-html.md b/src/roadmaps/backend/content/101-basic-frontend/100-html.md
index a064a7088..b2261009e 100644
--- a/src/roadmaps/backend/content/101-basic-frontend/100-html.md
+++ b/src/roadmaps/backend/content/101-basic-frontend/100-html.md
@@ -2,10 +2,9 @@
HTML stands for HyperText Markup Language. It is used on the frontend and gives the structure to the webpage which you can style using CSS and make interactive using JavaScript.
-{% resources %}
- {% Blog "https://www.w3schools.com/html/html_intro.asp", "W3Schools: Learn HTML" %}
- {% Course "https://www.codecademy.com/learn/learn-html", "Codecademy - Learn HTML" %}
- {% Course "https://github.com/denysdovhan/learnyouhtml", "Interactive HTML Course" %}
- {% Blog "https://www.youtube.com/watch?v=pQN-pnXPaVg", "HTML Full Course - Build a Website Tutorial" %}
- {% Blog "https://www.youtube.com/watch?v=qz0aGYrrlhU", "HTML Tutorial for Beginners: HTML Crash Course" %}
-{% endresources %}
+Free Content
+W3Schools: Learn HTML
+Codecademy - Learn HTML
+Interactive HTML Course
+HTML Full Course - Build a Website Tutorial
+HTML Tutorial for Beginners: HTML Crash Course
diff --git a/src/roadmaps/backend/content/101-basic-frontend/101-css.md b/src/roadmaps/backend/content/101-basic-frontend/101-css.md
index 9f1409ca0..0e6ef79bf 100644
--- a/src/roadmaps/backend/content/101-basic-frontend/101-css.md
+++ b/src/roadmaps/backend/content/101-basic-frontend/101-css.md
@@ -2,15 +2,14 @@
CSS or Cascading Style Sheets is the language used to style the frontend of any website. CSS is a cornerstone technology of the World Wide Web, alongside HTML and JavaScript.
-{% resources %}
- {% Blog "https://www.w3schools.com/css/", "W3Schools — Learn CSS" %}
- {% Blog "https://www.freecodecamp.org/learn/2022/responsive-web-design", "freeCodeCamp — Responsive Web Design" %}
- {% Blog "https://learn.shayhowe.com/html-css/building-your-first-web-page/", "Learn to Code HTML & CSS" %}
- {% Course "https://flexbox.io/", "What The Flexbox!" %}
- {% Course "https://www.codecademy.com/learn/learn-css", "Learn CSS | Codecademy" %}
- {% Course "https://www.codecademy.com/learn/learn-intermediate-css", "Learn Intermediate CSS | Codecademy" %}
- {% Blog "https://www.youtube.com/watch?v=yfoY53QXEnI", "CSS Crash Course For Absolute Beginners" %}
- {% Blog "https://www.youtube.com/watch?v=D-h8L5hgW-w", "HTML and CSS Tutorial" %}
- {% Blog "https://www.youtube.com/watch?v=FqmB-Zj2-PA", "CSS Masterclass - Tutorial & Course for Beginners" %}
-{% endresources %}
+Free Content
+W3Schools — Learn CSS
+freeCodeCamp — Responsive Web Design
+Learn to Code HTML & CSS
+What The Flexbox!
+Learn CSS | Codecademy
+Learn Intermediate CSS | Codecademy
+CSS Crash Course For Absolute Beginners
+HTML and CSS Tutorial
+CSS Masterclass - Tutorial & Course for Beginners
diff --git a/src/roadmaps/backend/content/101-basic-frontend/102-javascript.md b/src/roadmaps/backend/content/101-basic-frontend/102-javascript.md
index 377690453..58d071d68 100644
--- a/src/roadmaps/backend/content/101-basic-frontend/102-javascript.md
+++ b/src/roadmaps/backend/content/101-basic-frontend/102-javascript.md
@@ -1,13 +1,16 @@
-{% Roadmap "/javascript", "JavaScript" %}
+
# JavaScript
JavaScript allows you to add interactivity to your pages. Common examples that you may have seen on the websites are sliders, click interactions, popups and so on.
-{% resources %}
- {% Blog "https://www.w3schools.com/js/", "W3Schools – JavaScript Tutorial" %}
- {% Blog "https://javascript.info/", "The Modern JavaScript Tutorial" %}
- {% Blog "https://exploringjs.com/", "Exploring JS: JavaScript books for programmers" %}
- {% Blog "https://youtu.be/hdI2bqOjy3c?t=2", "JavaScript Crash Course for Beginners" %}
- {% Blog "https://youtu.be/P7t13SGytRk?t=22", "Build a Netflix Landing Page Clone with HTML, CSS & JS" %}
-{% endresources %}
+Free Content
+W3Schools – JavaScript Tutorial
+The Modern JavaScript Tutorial
+Exploring JS: JavaScript books for programmers
+JavaScript Crash Course for Beginners
+Build a Netflix Landing Page Clone with HTML, CSS & JS
diff --git a/src/roadmaps/backend/content/101-basic-frontend/index.md b/src/roadmaps/backend/content/101-basic-frontend/index.md
deleted file mode 100644
index f8907d763..000000000
--- a/src/roadmaps/backend/content/101-basic-frontend/index.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# Basic Frontend Knowledge
-
-As a backend developer, you may not need to have proficient knowledge of the frontend stack but you should at least have some basic understanding of HTML, CSS and JavaScript.
-
-{% resources %}
- {% Blog "https://www.w3schools.com/html/html_intro.asp", "W3Schools: Learn HTML" %}
- {% Blog "https://www.w3schools.com/css/", "W3Schools: Learn CSS" %}
- {% Blog "https://www.w3schools.com/js/", "W3Schools: JavaScript Tutorial" %}
- {% Blog "https://thenewstack.io/category/frontend-dev/", "Articles about Frontend Development" %}
-{% endresources %}
diff --git a/src/roadmaps/backend/content/101-basic-frontend/readme.md b/src/roadmaps/backend/content/101-basic-frontend/readme.md
new file mode 100644
index 000000000..621e48830
--- /dev/null
+++ b/src/roadmaps/backend/content/101-basic-frontend/readme.md
@@ -0,0 +1,9 @@
+# Basic Frontend Knowledge
+
+As a backend developer, you may not need to have proficient knowledge of the frontend stack but you should at least have some basic understanding of HTML, CSS and JavaScript.
+
+Free Content
+W3Schools: Learn HTML
+W3Schools: Learn CSS
+W3Schools: JavaScript Tutorial
+Articles about Frontend Development
diff --git a/src/roadmaps/backend/content/102-os-general-knowledge/100-terminal-usage.md b/src/roadmaps/backend/content/102-os-general-knowledge/100-terminal-usage.md
index 9b8adf819..e76eecd53 100644
--- a/src/roadmaps/backend/content/102-os-general-knowledge/100-terminal-usage.md
+++ b/src/roadmaps/backend/content/102-os-general-knowledge/100-terminal-usage.md
@@ -2,7 +2,5 @@
Terminals, also known as command lines or consoles, allow us to accomplish and automate tasks on a computer without the use of a graphical user interface.
-{% resources %}
- {% Blog "https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Command_line", "Command line crash course" %}
- {% Blog "https://www.youtube.com/watch?v=jDINUSK7rXE", "Basic Terminal Usage - Cheat Sheet to make the command line EASY" %}
-{% endresources %}
+Command line crash course
+Basic Terminal Usage - Cheat Sheet to make the command line EASY
diff --git a/src/roadmaps/backend/content/102-os-general-knowledge/101-how-oss-work-in-general.md b/src/roadmaps/backend/content/102-os-general-knowledge/101-how-oss-work-in-general.md
index 5d590f5e8..ebb375bfb 100644
--- a/src/roadmaps/backend/content/102-os-general-knowledge/101-how-oss-work-in-general.md
+++ b/src/roadmaps/backend/content/102-os-general-knowledge/101-how-oss-work-in-general.md
@@ -2,9 +2,6 @@
An operating system is a main program on computer, that governs all other applications. It allows you to use browsers, play games, print documents, launch your favorite program.
-{% resources %}
- {% Blog "https://www.tutorialspoint.com/operating_system/os_overview.htm", "Operating System - Overview" %}
- {% Blog "https://infinite.education/view/how_oss_work_in_general", "How OSs work in general" %}
- {% Blog "https://codex.cs.yale.edu/avi/os-book/OS10/index.html", "Operating System Concepts" %}
- {% Blog "https://www.youtube.com/watch?v=9GDX-IyZ_C8", "Operating System Basics " %}
-{% endresources %}
\ No newline at end of file
+Operating System - Overview
+Operating System Concepts
+Operating System Basics
diff --git a/src/roadmaps/backend/content/102-os-general-knowledge/102-process-management.md b/src/roadmaps/backend/content/102-os-general-knowledge/102-process-management.md
index ddf829111..40833c1d9 100644
--- a/src/roadmaps/backend/content/102-os-general-knowledge/102-process-management.md
+++ b/src/roadmaps/backend/content/102-os-general-knowledge/102-process-management.md
@@ -2,7 +2,6 @@
Process management involves various tasks like creation, scheduling, termination of processes, and a deadlock. Process is a program that is under execution, which is an important part of modern-day operating systems. The OS must allocate resources that enable processes to share and exchange information. It also protects the resources of each process from other methods and allows synchronization among processes.
-{% resources %}
- {% Blog "https://medium.com/@akhandmishra/operating-system-process-and-process-management-108d83e8ce60", "Operating System: Process and Process Management" %}
- {% Blog "https://www.guru99.com/process-management-pcb.html", "Process Management in OS: PCB in Operating System" %}
-{% endresources %}
+Free Content
+Operating System: Process and Process Management
+Process Management in OS: PCB in Operating System
diff --git a/src/roadmaps/backend/content/102-os-general-knowledge/103-threads-and-concurrency.md b/src/roadmaps/backend/content/102-os-general-knowledge/103-threads-and-concurrency.md
index 9bb9e9f5b..f38f1e5bc 100644
--- a/src/roadmaps/backend/content/102-os-general-knowledge/103-threads-and-concurrency.md
+++ b/src/roadmaps/backend/content/102-os-general-knowledge/103-threads-and-concurrency.md
@@ -4,10 +4,9 @@ A thread is the smallest unit of processing that can be performed in an OS. In m
Concurrency refers to the execution of multiple threads at the same time. It occurs in an operating system when multiple process threads are executing concurrently. These threads can interact with one another via shared memory or message passing. Concurrency results in resource sharing, which causes issues like deadlocks and resource scarcity. It aids with techniques such as process coordination, memory allocation, and execution schedule to maximize throughput.
-{% resources %}
- {% Blog "https://www.backblaze.com/blog/whats-the-diff-programs-processes-and-threads/", "What’s the Diff: Programs, Processes and Threads" %}
- {% Blog "https://www.javatpoint.com/concurrency-in-operating-system", "Concurrency in Operating System" %}
- {% Blog "https://www.youtube.com/watch?v=exbKr6fnoUw", "Intro to Processes & Threads" %}
- {% Blog "https://www.youtube.com/watch?v=iKtvNJQoCNw", "Introduction to Concurrency" %}
- {% Blog "https://www.youtube.com/watch?v=olYdb0DdGtM", "Concurrency, Threading and Parallelism Explained" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+What’s the Diff: Programs, Processes and Threads
+Concurrency in Operating System
+Intro to Processes & Threads
+Introduction to Concurrency
+Concurrency, Threading and Parallelism Explained
\ No newline at end of file
diff --git a/src/roadmaps/backend/content/102-os-general-knowledge/104-basic-terminal-commands.md b/src/roadmaps/backend/content/102-os-general-knowledge/104-basic-terminal-commands.md
index acb43be3f..240277518 100644
--- a/src/roadmaps/backend/content/102-os-general-knowledge/104-basic-terminal-commands.md
+++ b/src/roadmaps/backend/content/102-os-general-knowledge/104-basic-terminal-commands.md
@@ -8,10 +8,9 @@ To understand these commands, read through the manual pages by using `man` comma
After enough exposure and practice to these commands, it will become easier to use these in practice
-{% resources %}
- {% Blog "https://www.hostinger.com/tutorials/linux-commands", "40 Basic Linux Commands" %}
- {% Blog "https://github.com/ibraheemdev/modern-unix", "A collection of modern/faster/saner alternatives to common unix commands" %}
- {% Course "https://www.learnenough.com/command-line-tutorial", "Command Line Tutorial" %}
- {% Blog "https://cmdchallenge.com/", "Commandline Challenge" %}
- {% Blog "https://www.youtube.com/watch?v=ZtqBQ68cfJc", "The 50 Most Popular Linux & Terminal Commands (with timestamps)" %}
-{% endresources %}
+Free Content
+40 Basic Linux Commands
+A collection of modern/faster/saner alternatives to common unix commands
+Command Line Tutorial
+Commandline Challenge
+The 50 Most Popular Linux & Terminal Commands (with timestamps)
diff --git a/src/roadmaps/backend/content/102-os-general-knowledge/105-memory-management.md b/src/roadmaps/backend/content/102-os-general-knowledge/105-memory-management.md
index ba40dcc9a..34b38ae91 100644
--- a/src/roadmaps/backend/content/102-os-general-knowledge/105-memory-management.md
+++ b/src/roadmaps/backend/content/102-os-general-knowledge/105-memory-management.md
@@ -4,7 +4,5 @@ The term Memory can be defined as a collection of data in a specific format. It
To achieve a degree of multiprogramming and proper utilization of memory, memory management is important. There are several memory management methods, reflecting various approaches, and the effectiveness of each algorithm depends on the situation.
-{% resources %}
- {% Blog "https://dev.to/deepu105/demystifying-memory-management-in-modern-programming-languages-ddd", "Demystifying memory management in modern programming languages" %}
- {% Blog "https://www.geeksforgeeks.org/memory-management-in-operating-system/", "Memory Management in Operating System" %}
-{% endresources %}
+Demystifying memory management in modern programming languages
+Memory Management in Operating System
diff --git a/src/roadmaps/backend/content/102-os-general-knowledge/106-interprocess-communication.md b/src/roadmaps/backend/content/102-os-general-knowledge/106-interprocess-communication.md
index ce2e8c264..145f6e3ff 100644
--- a/src/roadmaps/backend/content/102-os-general-knowledge/106-interprocess-communication.md
+++ b/src/roadmaps/backend/content/102-os-general-knowledge/106-interprocess-communication.md
@@ -2,7 +2,5 @@
Interprocess communication (IPC) refers specifically to the mechanisms an operating system provides to allow the processes to manage shared data
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/inter-process-communication-ipc/", "Interprocess Communication" %}
- {% Blog "https://www.youtube.com/watch?v=dJuYKfR8vec", "Interprocess Communication - Neso Academy" %}
-{% endresources %}
+Interprocess Communication
+Interprocess Communication - Neso Academy
diff --git a/src/roadmaps/backend/content/102-os-general-knowledge/107-io-management.md b/src/roadmaps/backend/content/102-os-general-knowledge/107-io-management.md
index 4a732b63f..56e71bd62 100644
--- a/src/roadmaps/backend/content/102-os-general-knowledge/107-io-management.md
+++ b/src/roadmaps/backend/content/102-os-general-knowledge/107-io-management.md
@@ -2,8 +2,7 @@
One of the important jobs of an Operating System is to manage various I/O devices including mouse, keyboards, touchpad, disk drives, display adapters, USB devices, Bit-mapped screens, LED, Analog-to-digital converter, On/off switch, network connections, audio I/O, printers, etc.
-{% resources %}
- {% Blog "https://www.tutorialspoint.com/operating_system/os_io_hardware.htm", "Operating System - I/O Hardware" %}
- {% Blog "https://www.omscs-notes.com/operating-systems/io-management/", "IO Management" %}
- {% Blog "https://www.youtube.com/watch?v=F18RiREDkwE", "Basics of OS (I/O Structure)" %}
-{% endresources %}
+Free Content
+Operating System - I/O Hardware
+IO Management
+Basics of OS (I/O Structure)
diff --git a/src/roadmaps/backend/content/102-os-general-knowledge/108-posix-basics.md b/src/roadmaps/backend/content/102-os-general-knowledge/108-posix-basics.md
index a173a8af5..9774536e5 100644
--- a/src/roadmaps/backend/content/102-os-general-knowledge/108-posix-basics.md
+++ b/src/roadmaps/backend/content/102-os-general-knowledge/108-posix-basics.md
@@ -8,8 +8,7 @@ So, in this case, when we want to interact with any of these streams (through a
POSIX also adds a standard for exit codes, filesystem semantics, and several other command line utility API conventions.
-{% resources %}
- {% Official "https://pubs.opengroup.org/onlinepubs/9699919799/", "POSIX standard by IEEE" %}
- {% Blog "https://unix.stackexchange.com/a/220877", "Summary of some POSIX implementations" %}
- {% Blog "https://www.baeldung.com/linux/posix", "A guide to POSIX" %}
-{% endresources %}
+Free Content
+POSIX standard by IEEE
+Summary of some POSIX implementations
+A guide to POSIX
diff --git a/src/roadmaps/backend/content/102-os-general-knowledge/109-basic-networking-concepts.md b/src/roadmaps/backend/content/102-os-general-knowledge/109-basic-networking-concepts.md
index 5c6810c2d..fed8bb64f 100644
--- a/src/roadmaps/backend/content/102-os-general-knowledge/109-basic-networking-concepts.md
+++ b/src/roadmaps/backend/content/102-os-general-knowledge/109-basic-networking-concepts.md
@@ -2,6 +2,5 @@
Computer networking refers to interconnected computing devices that can exchange data and share resources with each other. These networked devices use a system of rules, called communications protocols, to transmit information over physical or wireless technologies.
-{% resources %}
- {% Blog "https://aws.amazon.com/what-is/computer-networking/", "What is Computer Networking?" %}
-{% endresources %}
+Free Content
+What is Computer Networking?
diff --git a/src/roadmaps/backend/content/102-os-general-knowledge/index.md b/src/roadmaps/backend/content/102-os-general-knowledge/index.md
deleted file mode 100644
index dc0a66c63..000000000
--- a/src/roadmaps/backend/content/102-os-general-knowledge/index.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# General Knowledge
-
-Operating System is a program that manages a computer’s resources, especially the allocation of those resources among other programs. Typical resources include the central processing unit (CPU), computer memory, file storage, input/output (I/O) devices, and network connections.
-
-{% resources %}
- {% Blog "https://edu.gcfglobal.org/en/computerbasics/understanding-operating-systems/1/", "What is an operating system?" %}
- {% Blog "https://www.youtube.com/watch?v=26QPDBe-NB8&ab_channel=CrashCourse", "Operating Systems: Crash Course Computer Science #18" %}
- {% Blog "https://www.youtube.com/watch?v=vBURTt97EkA&list=PL9hkZBQk8d1zEGbY7ShWCZ2n1gtxqkRrS&index=1", "Introduction to Operating System" %}
-{% endresources %}
\ No newline at end of file
diff --git a/src/roadmaps/backend/content/102-os-general-knowledge/readme.md b/src/roadmaps/backend/content/102-os-general-knowledge/readme.md
new file mode 100644
index 000000000..802c6d809
--- /dev/null
+++ b/src/roadmaps/backend/content/102-os-general-knowledge/readme.md
@@ -0,0 +1,9 @@
+# General Knowledge
+
+Operating System is a program that manages a computer’s resources, especially the allocation of those resources among other programs. Typical resources include the central processing unit (CPU), computer memory, file storage, input/output (I/O) devices, and network connections.
+
+Free Content
+What is an operating system?
+Operating System summary
+Operating Systems: Crash Course Computer Science #18
+Introduction to Operating System
diff --git a/src/roadmaps/backend/content/103-learn-a-language/100-go.md b/src/roadmaps/backend/content/103-learn-a-language/100-go.md
index d8efe85a5..f9dd641d1 100644
--- a/src/roadmaps/backend/content/103-learn-a-language/100-go.md
+++ b/src/roadmaps/backend/content/103-learn-a-language/100-go.md
@@ -1,16 +1,19 @@
-{% Roadmap "/golang", "Go" %}
+
# Go
Go is an open source programming language supported by Google. Go can be used to write cloud services, CLI tools, used for API development, and much more.
-{% resources %}
- {% Blog "https://go.dev/tour/welcome/1", "A Tour of Go – Go Basics" %}
- {% Blog "https://go.dev/doc/", "Go Reference Documentation" %}
- {% Blog "https://gobyexample.com/", "Go by Example - annotated example programs" %}
- {% Course "https://www.codecademy.com/learn/learn-go", "Learn Go | Codecademy" %}
- {% Course "https://www.w3schools.com/go/", "W3Schools Go Tutorial " %}
- {% Blog "https://thenewstack.io/make-a-restful-json-api-go/", "Making a RESTful JSON API in Go" %}
- {% Blog "https://thenewstack.io/go-the-programming-language-of-the-cloud/", "Go, the Programming Language of the Cloud" %}
-{% endresources %}
+Free Content
+A Tour of Go – Go Basics
+Go Reference Documentation
+Go by Example - annotated example programs
+Learn Go | Codecademy
+W3Schools Go Tutorial
+Making a RESTful JSON API in Go
+Go, the Programming Language of the Cloud
diff --git a/src/roadmaps/backend/content/103-learn-a-language/101-rust.md b/src/roadmaps/backend/content/103-learn-a-language/101-rust.md
index b3601aab6..0e45b54bc 100644
--- a/src/roadmaps/backend/content/103-learn-a-language/101-rust.md
+++ b/src/roadmaps/backend/content/103-learn-a-language/101-rust.md
@@ -2,9 +2,8 @@
Rust is a modern systems programming language focusing on safety, speed, and concurrency. It accomplishes these goals by being memory safe without using garbage collection.
-{% resources %}
- {% Blog "https://doc.rust-lang.org/book/", "The Rust Programming Language - online book" %}
- {% Blog "https://doc.rust-lang.org/stable/rust-by-example/index.html", "Rust by Example - collection of runnable examples" %}
- {% Blog "https://thenewstack.io/rust-vs-go-why-theyre-better-together/", "Rust vs. Go: Why They’re Better Together" %}
- {% Blog "https://thenewstack.io/rust-by-the-numbers-the-rust-programming-language-in-2021/", "Rust by the Numbers: The Rust Programming Language in 2021" %}
-{% endresources %}
+Free Content
+The Rust Programming Language - online book
+Rust by Example - collection of runnable examples
+Rust vs. Go: Why They’re Better Together
+Rust by the Numbers: The Rust Programming Language in 2021
diff --git a/src/roadmaps/backend/content/103-learn-a-language/102-java.md b/src/roadmaps/backend/content/103-learn-a-language/102-java.md
index 7eaa324c0..d94d0f13a 100644
--- a/src/roadmaps/backend/content/103-learn-a-language/102-java.md
+++ b/src/roadmaps/backend/content/103-learn-a-language/102-java.md
@@ -1,13 +1,16 @@
-{% Roadmap "/java", "Java" %}
+
# Java
Java is general-purpose language, primarily used for Internet-based applications.
It was created in 1995 by James Gosling at Sun Microsystems and is one of the most popular options for backend developers.
-{% resources %}
- {% Official "https://www.java.com/", "Java Website" %}
- {% Blog "https://www.codecademy.com/learn/learn-java", "Codeacademy - Free Course" %}
- {% Blog "https://www.w3schools.com/java/", "W3 Schools Tutorials" %}
- {% Blog "https://www.youtube.com/watch?v=eIrMbAQSU34", "Java Crash Course" %}
-{% endresources %}
+Free Content
+Java Website
+Codeacademy - Free Course
+W3 Schools Tutorials
+Java Crash Course
diff --git a/src/roadmaps/backend/content/103-learn-a-language/103-csharp.md b/src/roadmaps/backend/content/103-learn-a-language/103-csharp.md
index d9d866c3c..97ad8ea54 100644
--- a/src/roadmaps/backend/content/103-learn-a-language/103-csharp.md
+++ b/src/roadmaps/backend/content/103-learn-a-language/103-csharp.md
@@ -1,9 +1,8 @@
-# Csharp
+# C#
C# (pronounced "C sharp") is a general purpose programming language made by Microsoft. It is used to perform different tasks and can be used to create web apps, games, mobile apps, etc.
-{% resources %}
- {% Blog "https://docs.microsoft.com/en-us/learn/paths/csharp-first-steps/?WT.mc_id=dotnet-35129-website", "C# Learning Path" %}
- {% Blog "https://www.w3schools.com/cs/index.php", "C# on W3 schools" %}
- {% Blog "https://docs.microsoft.com/en-us/shows/CSharp-101/?WT.mc_id=Educationalcsharp-c9-scottha", "Introduction to C#" %}
- {% Blog "https://www.youtube.com/watch?v=gfkTfcpWqAY&list=PLTjRvDozrdlz3_FPXwb6lX_HoGXa09Yef", "C# tutorials" %}
-{% endresources %}
+Free Content
+C# Learning Path
+C# on W3 schools
+Introduction to C#
+C# tutorials
diff --git a/src/roadmaps/backend/content/103-learn-a-language/103-php.md b/src/roadmaps/backend/content/103-learn-a-language/103-php.md
index 5f7de416d..92f32c504 100644
--- a/src/roadmaps/backend/content/103-learn-a-language/103-php.md
+++ b/src/roadmaps/backend/content/103-learn-a-language/103-php.md
@@ -2,11 +2,10 @@
PHP is a general purpose scripting language often used for making dynamic and interactive Web pages. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1994. The PHP reference implementation is now produced by The PHP Group and supported by PHP Foundation. PHP supports procedural and object-oriented styles of programming with some elements of functional programming as well.
-{% resources %}
- {% Official "https://php.org/", "PHP Website" %}
- {% Blog "https://www.w3schools.com/php/", "Learn PHP - W3Schools" %}
- {% Blog "https://phptherightway.com/", "PHP - The Right Way" %}
- {% Blog "https://www.youtube.com/watch?v=U2lQWR6uIuo&list=PL3VM-unCzF8ipG50KDjnzhugceoSG3RTC", "PHP for Beginners" %}
- {% Blog "https://www.youtube.com/watch?v=2eebptXfEvw", "PHP For Absolute Beginners" %}
- {% Blog "https://www.youtube.com/watch?v=sVbEyFZKgqk&list=PLr3d3QYzkw2xabQRUpcZ_IBk9W50M9pe-", "Full PHP 8 Tutorial - Learn PHP The Right Way In 2022" %}
-{% endresources %}
+Free Content
+PHP Website
+Learn PHP - W3Schools
+PHP - The Right Way
+PHP for Beginners
+PHP For Absolute Beginners
+Full PHP 8 Tutorial - Learn PHP The Right Way In 2022
diff --git a/src/roadmaps/backend/content/103-learn-a-language/105-javascript.md b/src/roadmaps/backend/content/103-learn-a-language/105-javascript.md
index 31b0dc93b..6108ff8a3 100644
--- a/src/roadmaps/backend/content/103-learn-a-language/105-javascript.md
+++ b/src/roadmaps/backend/content/103-learn-a-language/105-javascript.md
@@ -1,17 +1,23 @@
-{% Roadmap "/javascript", "JavaScript" %}
+
# JavaScript
-JavaScript, often abbreviated JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. It lets us add interactivity to pages e.g. you might have seen sliders, alerts, click interactions, and popups etc on different websites -- all of that is built using JavaScript. Apart from being used in the browser, it is also used in other non-browser environments as well such as Node.js for writing server-side code in JavaScript, Electron for writing desktop applications, React Native for mobile applications and so on.
+Apart from being used in the browser, JavaScript is also used in backend e.g. using [Node.js](https://nodejs.org/) or [Deno](https://deno.land/) for writing server-side code in JavaScript.
+If you pick up JavaScript for the Backend, my personal recommendation would be to learn [JavaScript](/javascript) and then go with [Node.js](/nodejs) as it is the most popular and widely used option. Also, I would recommend learning TypeScript later on as you continue with your backend development Journey; it's a superset of JavaScript and is used in many projects.
-{% resources %}
- {% Blog "https://www.w3schools.com/js/", "W3Schools – JavaScript Tutorial" %}
- {% Blog "https://javascript.info/", "The Modern JavaScript Tutorial" %}
- {% Blog "https://eloquentjavascript.net/", "Eloquent Javascript - Book" %}
- {% Blog "https://github.com/getify/You-Dont-Know-JS", "You Dont Know JS Yet (book series) " %}
- {% Course "https://www.codecademy.com/learn/introduction-to-javascript", "Codecademy - Learn JavaScript" %}
- {% Blog "https://youtu.be/hdI2bqOjy3c", "JavaScript Crash Course for Beginners" %}
- {% Blog "https://www.youtube.com/watch?v=fBNz5xF-Kx4", "Node.js Crash Course" %}
- {% Blog "https://www.youtube.com/watch?v=TlB_eWDSMt4", "Node.js Tutorial for Beginners" %}
-{% endresources %}
+Free Content
+
+W3Schools – JavaScript Tutorial
+The Modern JavaScript Tutorial
+Eloquent Javascript - Book
+You Don't Know JS Yet (book series)
+Codecademy - Learn JavaScript
+JavaScript Crash Course for Beginners
+
+Node.js Crash Course
+Node.js Tutorial for Beginners
diff --git a/src/roadmaps/backend/content/103-learn-a-language/106-python.md b/src/roadmaps/backend/content/103-learn-a-language/106-python.md
index 1d4d8a591..5cd9bffee 100644
--- a/src/roadmaps/backend/content/103-learn-a-language/106-python.md
+++ b/src/roadmaps/backend/content/103-learn-a-language/106-python.md
@@ -1,18 +1,21 @@
-{% Roadmap "/python", "Python" %}
+
# Python
Python is a well known programming language which is both a strongly typed and a dynamically typed language. Being an interpreted language, code is executed as soon as it is written and the Python syntax allows for writing code in functional, procedural or object-oriented programmatic ways.
-{% resources %}
- {% Official "https://www.python.org/", "Python Website" %}
- {% Blog "https://www.python.org/about/gettingstarted/", "Python Getting Started" %}
- {% Blog "https://automatetheboringstuff.com/", "Automate the Boring Stuff" %}
- {% Blog "https://www.freecodecamp.org/news/how-to-learn-python/", "FreeCodeCamp.org - How to Learn Python ? " %}
- {% Course "https://pythonprinciples.com/", "Python principles - Python basics" %}
- {% Course "https://www.w3schools.com/python/", "W3Schools - Python Tutorial " %}
- {% Course "https://ehmatthes.github.io/pcc/", "Python Crash Course" %}
- {% Course "https://www.codecademy.com/learn/learn-python", "Codecademy - Learn Python 2" %}
- {% Blog "https://thenewstack.io/an-introduction-to-python-for-non-programmers/", "An Introduction to Python for Non-Programmers" %}
- {% Blog "https://thenewstack.io/getting-started-with-python-and-influxdb/", "Getting Started with Python and InfluxDB" %}
-{% endresources %}
+Free Content
+Python Website
+Python Getting Started
+Automate the Boring Stuff
+FreeCodeCamp.org - How to Learn Python ?
+Python principles - Python basics
+W3Schools - Python Tutorial
+Python Crash Course
+Codecademy - Learn Python 2
+An Introduction to Python for Non-Programmers
+Getting Started with Python and InfluxDB
diff --git a/src/roadmaps/backend/content/103-learn-a-language/107-ruby.md b/src/roadmaps/backend/content/103-learn-a-language/107-ruby.md
index 7749396a7..5ccbc04af 100644
--- a/src/roadmaps/backend/content/103-learn-a-language/107-ruby.md
+++ b/src/roadmaps/backend/content/103-learn-a-language/107-ruby.md
@@ -2,9 +2,8 @@
Ruby is a high-level, interpreted programming language that blends Perl, Smalltalk, Eiffel, Ada, and Lisp. Ruby focuses on simplicity and productivity along with a syntax that reads and writes naturally. Ruby supports procedural, object-oriented and functional programming and is dynamically typed.
-{% resources %}
- {% Official "https://www.ruby-lang.org/en/", "Ruby Website" %}
- {% Course "https://www.ruby-lang.org/en/documentation/quickstart/", "Learn Ruby in 20 minutes" %}
- {% Course "https://www.codecademy.com/learn/learn-ruby", "Learn Ruby | Codecademy" %}
- {% Blog "https://thenewstack.io/ruby-a-programmers-best-friend/", "Ruby, An Introduction to a Programmer’s Best Friend" %}
-{% endresources %}
+Free Content
+Ruby Website
+Learn Ruby in 20 minutes
+Learn Ruby | Codecademy
+Ruby, An Introduction to a Programmer’s Best Friend
diff --git a/src/roadmaps/backend/content/103-learn-a-language/108-cpp.md b/src/roadmaps/backend/content/103-learn-a-language/108-cpp.md
index cc04816f8..55eca784b 100644
--- a/src/roadmaps/backend/content/103-learn-a-language/108-cpp.md
+++ b/src/roadmaps/backend/content/103-learn-a-language/108-cpp.md
@@ -2,7 +2,6 @@
C++ is a powerful general-purpose programming language. It can be used to develop operating systems, browsers, games, and so on. C++ supports different ways of programming like procedural, object-oriented, functional, and so on. This makes C++ powerful as well as flexible.
-{% resources %}
- {% Blog "https://learncpp.com/", "Learn Cpp" %}
- {% Blog "https://en.cppreference.com/", "C++ Reference" %}
-{% endresources %}
+Free Content
+Learn Cpp
+C++ Reference
diff --git a/src/roadmaps/backend/content/103-learn-a-language/index.md b/src/roadmaps/backend/content/103-learn-a-language/readme.md
similarity index 82%
rename from src/roadmaps/backend/content/103-learn-a-language/index.md
rename to src/roadmaps/backend/content/103-learn-a-language/readme.md
index 1cb5648a8..d305ca9a9 100644
--- a/src/roadmaps/backend/content/103-learn-a-language/index.md
+++ b/src/roadmaps/backend/content/103-learn-a-language/readme.md
@@ -3,3 +3,5 @@
Even if you’re a beginner the least you would have known is that Web Development is majorly classified into two facets: Frontend Development and Backend Development. And obviously, they both have their respective set of tools and technologies. For instance, when we talk about Frontend Development, there always comes 3 names first and foremost – HTML, CSS, and JavaScript.
In the same way, when it comes to Backend Web Development – we primarily require a backend (or you can say server-side) programming language to make the website function along with various other tools & technologies such as databases, frameworks, web servers, etc.
+
+Pick a language from the given list and make sure to learn its quirks, core details about its runtime e.g. concurrency, memory model etc.
diff --git a/src/roadmaps/backend/content/104-version-control-systems/100-basic-usage-of-git.md b/src/roadmaps/backend/content/104-version-control-systems/100-basic-usage-of-git.md
index 959018824..f7f276bfe 100644
--- a/src/roadmaps/backend/content/104-version-control-systems/100-basic-usage-of-git.md
+++ b/src/roadmaps/backend/content/104-version-control-systems/100-basic-usage-of-git.md
@@ -2,9 +2,8 @@
[Git](https://git-scm.com/) is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
-{% resources %}
- {% Course "https://github.com/jlord/git-it-electron", "Learn Git on the command line" %}
- {% Blog "https://www.youtube.com/watch?v=zbKdDsNNOhg", "Version Control System Introduction" %}
- {% Blog "https://www.youtube.com/watch?v=SWYqp7iY_Tc", "Git & GitHub Crash Course For Beginners" %}
- {% Blog "https://youtu.be/Y9XZQO1n_7c?t=21", "Learn Git in 20 Minutes" %}
-{% endresources %}
+Free Content
+Learn Git on the command line
+Version Control System Introduction
+Git & GitHub Crash Course For Beginners
+Learn Git in 20 Minutes
diff --git a/src/roadmaps/backend/content/104-version-control-systems/index.md b/src/roadmaps/backend/content/104-version-control-systems/readme.md
similarity index 53%
rename from src/roadmaps/backend/content/104-version-control-systems/index.md
rename to src/roadmaps/backend/content/104-version-control-systems/readme.md
index 3ad3c5ce4..9e840295f 100644
--- a/src/roadmaps/backend/content/104-version-control-systems/index.md
+++ b/src/roadmaps/backend/content/104-version-control-systems/readme.md
@@ -3,8 +3,6 @@
Version control/source control systems allow developers to track and control changes to code over time. These services often include the ability to make atomic revisions to code, branch/fork off of specific points, and to compare versions of code. They are useful in determining the who, what, when, and why code changes were made.
-{% resources %}
- {% Official "https://git-scm.com/", "Git" %}
- {% Blog "https://www.mercurial-scm.org/", "Mercurial" %}
- {% Blog "https://www.atlassian.com/git/tutorials/what-is-version-control", "What is Version Control?" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+Git
+What is Version Control?
diff --git a/src/roadmaps/backend/content/105-repo-hosting-services/100-github.md b/src/roadmaps/backend/content/105-repo-hosting-services/100-github.md
index 202fc81ad..ae1363c60 100644
--- a/src/roadmaps/backend/content/105-repo-hosting-services/100-github.md
+++ b/src/roadmaps/backend/content/105-repo-hosting-services/100-github.md
@@ -2,12 +2,12 @@
GitHub is a provider of Internet hosting for software development and version control using Git. It offers the distributed version control and source code management functionality of Git, plus its own features.
-{% resources %}
- {% Official "https://github.com", "GitHub Website" %}
- {% Official "https://docs.github.com/en/get-started/quickstart", "GitHub Documentation" %}
- {% Course "https://ooloo.io/project/github-flow", "How to Use Git in a Professional Dev Team" %}
- {% Blog "https://www.youtube.com/watch?v=w3jLJU7DT5E", "What is GitHub?" %}
- {% Blog "https://www.youtube.com/watch?v=wpISo9TNjfU", "Git vs. GitHub: Whats the difference?" %}
- {% Blog "https://www.youtube.com/watch?v=RGOj5yH7evk", "Git and GitHub for Beginners" %}
- {% Blog "https://www.youtube.com/watch?v=eulnSXkhE7I", "Git and GitHub - CS50 Beyond 2019" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+
+GitHub Website
+GitHub Documentation
+How to Use Git in a Professional Dev Team
+What is GitHub?
+Git vs. GitHub: What's the difference?
+Git and GitHub for Beginners
+Git and GitHub - CS50 Beyond 2019
\ No newline at end of file
diff --git a/src/roadmaps/backend/content/105-repo-hosting-services/101-gitlab.md b/src/roadmaps/backend/content/105-repo-hosting-services/101-gitlab.md
index a3bc43043..ed8109bd6 100644
--- a/src/roadmaps/backend/content/105-repo-hosting-services/101-gitlab.md
+++ b/src/roadmaps/backend/content/105-repo-hosting-services/101-gitlab.md
@@ -2,7 +2,7 @@
GitLab is a provider of internet hosting for software development and version control using Git. It offers the distributed version control and source code management functionality of Git, plus its own features.
-{% resources %}
- {% Official "https://gitlab.com/", "GitLab Website" %}
- {% Official "https://docs.gitlab.com/", "GitLab Documentation" %}
-{% endresources %}
+Free Content
+
+GitLab Website
+GitLab Documentation
diff --git a/src/roadmaps/backend/content/105-repo-hosting-services/102-bitbucket.md b/src/roadmaps/backend/content/105-repo-hosting-services/102-bitbucket.md
index 38c75600c..36286623d 100644
--- a/src/roadmaps/backend/content/105-repo-hosting-services/102-bitbucket.md
+++ b/src/roadmaps/backend/content/105-repo-hosting-services/102-bitbucket.md
@@ -4,11 +4,10 @@ Bitbucket is a Git based hosting and source code repository service that is Atla
Bitbucket offers hosting options via Bitbucket Cloud (Atlassian's servers), Bitbucket Server (customer's on-premise) or Bitbucket Data Centre (number of servers in customers on-premise or cloud environment)
-{% resources %}
- {% Official "https://bitbucket.org/product", "Bitbucket Website" %}
- {% Course "https://bitbucket.org/product/guides/basics/bitbucket-interface", "Getting started with Bitbucket" %}
- {% Course "https://www.atlassian.com/git/tutorials/learn-git-with-bitbucket-cloud", "Using Git with Bitbucket Cloud" %}
- {% Blog "https://bitbucket.org/product/guides/getting-started/overview#a-brief-overview-of-bitbucket", "A brief overview of Bitbucket" %}
- {% Blog "https://www.youtube.com/watch?v=M44nEyd_5To", "Bitbucket tutorial | How to use Bitbucket Cloud" %}
- {% Blog "https://www.youtube.com/watch?v=i5T-DB8tb4A", "Bitbucket Tutorial | Bitbucket for Beginners" %}
-{% endresources %}
+Free Content
+Bitbucket Website
+Getting started with Bitbucket
+Using Git with Bitbucket Cloud
+A brief overview of Bitbucket
+Bitbucket tutorial | How to use Bitbucket Cloud
+Bitbucket Tutorial | Bitbucket for Beginners
diff --git a/src/roadmaps/backend/content/105-repo-hosting-services/index.md b/src/roadmaps/backend/content/105-repo-hosting-services/index.md
deleted file mode 100644
index 9aa94ded6..000000000
--- a/src/roadmaps/backend/content/105-repo-hosting-services/index.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# Repo Hosting Services
-
-When working on a team, you often need a remote place to put your code so others can access it, create their own branches, and create or review pull requests. These services often include issue tracking, code review, and continuous integration features. A few popular choices are GitHub, GitLab, BitBucket, and AWS CodeCommit.
-
-{% resources %}
- {% Official "https://github.com/features/", "GitHub" %}
- {% Official "https://about.gitlab.com/", "GitLab" %}
- {% Official "https://bitbucket.org/product/guides/getting-started/overview", "BitBucket" %}
- {% Blog "https://bitbucket.org/product/code-repository", "How to choose the best source code repository" %}
-{% endresources %}
diff --git a/src/roadmaps/backend/content/105-repo-hosting-services/readme.md b/src/roadmaps/backend/content/105-repo-hosting-services/readme.md
new file mode 100644
index 000000000..574869a99
--- /dev/null
+++ b/src/roadmaps/backend/content/105-repo-hosting-services/readme.md
@@ -0,0 +1,9 @@
+# Repo Hosting Services
+
+When working on a team, you often need a remote place to put your code so others can access it, create their own branches, and create or review pull requests. These services often include issue tracking, code review, and continuous integration features. A few popular choices are GitHub, GitLab, BitBucket, and AWS CodeCommit.
+
+Free Content
+GitHub
+GitLab
+BitBucket
+How to choose the best source code repository
diff --git a/src/roadmaps/backend/content/106-relational-databases/100-postgresql.md b/src/roadmaps/backend/content/106-relational-databases/100-postgresql.md
index 64ead2d71..dc74833ca 100644
--- a/src/roadmaps/backend/content/106-relational-databases/100-postgresql.md
+++ b/src/roadmaps/backend/content/106-relational-databases/100-postgresql.md
@@ -1,13 +1,16 @@
-{% Roadmap "/postgresql-dba", "PostgreSQL DBA" %}
+
# PostgreSQL
PostgreSQL, also known as Postgres, is a free and open-source relational database management system emphasizing extensibility and SQL compliance.
-{% resources %}
- {% Official "https://www.postgresql.org/", "Official Website" %}
- {% Blog "https://www.geeksforgeeks.org/what-is-postgresql-introduction/", "What is PostgreSQL" %}
- {% Blog "https://www.postgresqltutorial.com/", "Learn PostgreSQL - Full Tutorial for Beginners" %}
- {% Blog "https://www.youtube.com/watch?v=qw--VYLpxG4", "Learn PostgreSQL Tutorial - Full Course for Beginners" %}
- {% Blog "https://www.youtube.com/watch?v=eMIxuk0nOkU", "Postgres tutorial for Beginners" %}
-{% endresources %}
+Free Content
+Official Website
+What is PostgreSQL
+Learn PostgreSQL - Full Tutorial for Beginners
+Learn PostgreSQL Tutorial - Full Course for Beginners
+Postgres tutorial for Beginners
diff --git a/src/roadmaps/backend/content/106-relational-databases/101-mysql.md b/src/roadmaps/backend/content/106-relational-databases/101-mysql.md
index 857c20f25..8b1ceacdf 100644
--- a/src/roadmaps/backend/content/106-relational-databases/101-mysql.md
+++ b/src/roadmaps/backend/content/106-relational-databases/101-mysql.md
@@ -2,8 +2,7 @@
MySQL is an incredibly popular open source relational database management system (RDBMS). MySQL can be used as a stand-alone client or in conjunction with other services to provide database connectivity. The **M** in LAMP stack stands for MySQL; that alone should provide an idea of its prevalence.
-{% resources %}
- {% Official "https://www.mysql.com/", "MySQL website" %}
- {% Course "https://www.w3schools.com/mySQl/default.asp", "W3Schools - MySQL tutorial " %}
- {% Blog "https://www.youtube.com/watch?v=7S_tz1z_5bA", "MySQL tutorial for beginners" %}
-{% endresources %}
+Free Content
+MySQL website
+W3Schools - MySQL tutorial
+MySQL tutorial for beginners
diff --git a/src/roadmaps/backend/content/106-relational-databases/102-mariadb.md b/src/roadmaps/backend/content/106-relational-databases/102-mariadb.md
index 3ab6a26fd..390b55809 100644
--- a/src/roadmaps/backend/content/106-relational-databases/102-mariadb.md
+++ b/src/roadmaps/backend/content/106-relational-databases/102-mariadb.md
@@ -2,9 +2,8 @@
MariaDB server is a community developed fork of MySQL server. Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open SQL server in the industry. MariaDB was created with the intention of being a more versatile, drop-in replacement version of MySQL
-{% resources %}
- {% Official "https://mariadb.org/", "MariaDB website" %}
- {% Blog "https://www.guru99.com/mariadb-vs-mysql.html", "MariaDB vs MySQL" %}
- {% Course "https://www.w3schools.blog/mariadb-tutorial", "W3Schools - MariaDB tutorial " %}
- {% Blog "https://www.youtube.com/watch?v=_AMj02sANpI", "MariaDB Tutorial For Beginners in One Hour" %}
-{% endresources %}
+Free Content
+MariaDB website
+MariaDB vs MySQL
+W3Schools - MariaDB tutorial
+MariaDB Tutorial For Beginners in One Hour
diff --git a/src/roadmaps/backend/content/106-relational-databases/103-mssql.md b/src/roadmaps/backend/content/106-relational-databases/103-mssql.md
index ea35e9208..b64597221 100644
--- a/src/roadmaps/backend/content/106-relational-databases/103-mssql.md
+++ b/src/roadmaps/backend/content/106-relational-databases/103-mssql.md
@@ -2,8 +2,7 @@
MS SQL (or Microsoft SQL Server) is the Microsoft developed relational database management system (RDBMS). MS SQL uses the T-SQL (Transact-SQL) query language to interact with the relational databases. There are many different versions and editions available of MS SQL
-{% resources %}
- {% Official "https://www.microsoft.com/en-ca/sql-server/", "MS SQL website" %}
- {% Course "https://docs.microsoft.com/en-us/sql/sql-server/tutorials-for-sql-server-2016?view=sql-server-ver15", "Tutorials for SQL Server" %}
- {% Blog "https://www.youtube.com/watch?v=-EPMOaV7h_Q", "SQL Server tutorial for beginners" %}
-{% endresources %}
+Free Content
+MS SQL website
+Tutorials for SQL Server
+SQL Server tutorial for beginners
diff --git a/src/roadmaps/backend/content/106-relational-databases/104-oracle.md b/src/roadmaps/backend/content/106-relational-databases/104-oracle.md
index 9aa3f648e..7c227f5b0 100644
--- a/src/roadmaps/backend/content/106-relational-databases/104-oracle.md
+++ b/src/roadmaps/backend/content/106-relational-databases/104-oracle.md
@@ -2,8 +2,7 @@
Oracle Database Server or sometimes called Oracle RDBMS or even simply Oracle is a world leading relational database management system produced by Oracle Corporation.
-{% resources %}
- {% Official "https://www.oracle.com/database/", "Official Website" %}
- {% Blog "https://docs.oracle.com/en/database/index.html", "Official Docs" %}
- {% Blog "https://www.youtube.com/watch?v=ObbNGhcxXJA", "Oracle SQL Tutorial for Beginners" %}
-{% endresources %}
+Free Content
+Official Website
+Official Docs
+Oracle SQL Tutorial for Beginners
diff --git a/src/roadmaps/backend/content/106-relational-databases/index.md b/src/roadmaps/backend/content/106-relational-databases/index.md
deleted file mode 100644
index 371cda5ab..000000000
--- a/src/roadmaps/backend/content/106-relational-databases/index.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# Relational Databases
-
-A relational database is **a type of database that stores and provides access to data points that are related to one another**. Relational databases store data in a series of tables. Interconnections between the tables are specified as foreign keys. A foreign key is a unique reference from one row in a relational table to another row in a table, which can be the same table but is most commonly a different table.
-
-{% resources %}
- {% Blog "https://www.ibm.com/cloud/learn/relational-databases", "Relational Databases" %}
- {% Blog "https://learnsql.com/blog/codd-article-databases/", "51 Years of Relational Databases" %}
- {% Blog "https://www.edx.org/course/databases-5-sql", "Databases and SQL" %}
- {% Blog "https://www.udacity.com/course/intro-to-relational-databases--ud197", "Intro To Relational Databases" %}
- {% Blog "https://youtu.be/OqjJjpjDRLc", "What is Relational Database" %}
-{% endresources %}
diff --git a/src/roadmaps/backend/content/106-relational-databases/readme.md b/src/roadmaps/backend/content/106-relational-databases/readme.md
new file mode 100644
index 000000000..30c53bfae
--- /dev/null
+++ b/src/roadmaps/backend/content/106-relational-databases/readme.md
@@ -0,0 +1,10 @@
+# Relational Databases
+
+A relational database is **a type of database that stores and provides access to data points that are related to one another**. Relational databases store data in a series of tables. Interconnections between the tables are specified as foreign keys. A foreign key is a unique reference from one row in a relational table to another row in a table, which can be the same table but is most commonly a different table.
+
+Free Content
+Relational Databases
+51 Years of Relational Databases
+Databases and SQL
+Intro To Relational Databases
+What is Relational Database
diff --git a/src/roadmaps/backend/content/107-nosql-databases/100-document-databases.md b/src/roadmaps/backend/content/107-nosql-databases/100-document-databases.md
index b8b1d0664..5b0158393 100644
--- a/src/roadmaps/backend/content/107-nosql-databases/100-document-databases.md
+++ b/src/roadmaps/backend/content/107-nosql-databases/100-document-databases.md
@@ -4,11 +4,18 @@
MongoDB is a source-available cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with optional schemas. MongoDB is developed by MongoDB Inc. and licensed under the Server Side Public License (SSPL).
-{% resources %}
- {% Official "https://www.mongodb.com/", "MongoDB Website" %}
- {% Official "https://docs.mongodb.com/", "MongoDB Documentation" %}
- {% Blog "https://mongoplayground.net/", "MongoDB Online Sandbox" %}
- {% Blog "https://university.mongodb.com/learning_paths/developer", "Learning Path for MongoDB Developers" %}
- {% Official "https://docs.aws.amazon.com/dynamodb/index.html", "Dynamo DB Docs" %}
- {% Blog "https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html", "Official Developers Guide" %}
-{% endresources %}
+Free Content
+
+MongoDB Website
+MongoDB Documentation
+MongoDB Online Sandbox
+Learning Path for MongoDB Developers
+
+## DynamoDB
+
+DynamoDB is a fully managed proprietary NoSQL database service that supports key–value and document data structures and is offered by Amazon.com as part of the Amazon Web Services portfolio. DynamoDB exposes a similar data model to and derives its name from Dynamo, but has a different underlying implementation.
+
+Free Content
+
+Dynamo DB Docs
+Official Developers Guide
diff --git a/src/roadmaps/backend/content/107-nosql-databases/101-column-databases.md b/src/roadmaps/backend/content/107-nosql-databases/101-column-databases.md
index 3ec06e771..1e1933e6a 100644
--- a/src/roadmaps/backend/content/107-nosql-databases/101-column-databases.md
+++ b/src/roadmaps/backend/content/107-nosql-databases/101-column-databases.md
@@ -4,7 +4,6 @@ A **wide-column database** (sometimes referred to as a column database) i
**Warning:** note that a "columnar database" and a "column database" are two different terms!
-{% resources %}
- {% Official "https://cassandra.apache.org/_/index.html", "Apache Cassandra" %}
- {% Blog "https://www.youtube.com/watch?v=J-cSy5MeMOA", "Apache Cassandra Database - Full Course for Beginners" %}
-{% endresources %}
+Free Content
+Apache Cassandra
+Apache Cassandra Database - Full Course for Beginners
diff --git a/src/roadmaps/backend/content/107-nosql-databases/102-timeseries-databases.md b/src/roadmaps/backend/content/107-nosql-databases/102-timeseries-databases.md
index 98bf0a67d..9c629cc1b 100644
--- a/src/roadmaps/backend/content/107-nosql-databases/102-timeseries-databases.md
+++ b/src/roadmaps/backend/content/107-nosql-databases/102-timeseries-databases.md
@@ -4,7 +4,7 @@
InfluxDB was built from the ground up to be a purpose-built time series database; i.e., it was not repurposed to be time series. Time was built-in from the beginning. InfluxDB is part of a comprehensive platform that supports the collection, storage, monitoring, visualization and alerting of time series data. It’s much more than just a time series database.
-{% resources %}
- {% Official "https://www.influxdata.com/", "InfluxDB Website" %}
- {% Blog "https://www.influxdata.com/time-series-database/", "Time series database" %}
-{% endresources %}
+Free Content
+
+InfluxDB Website
+Time series database
diff --git a/src/roadmaps/backend/content/107-nosql-databases/104-key-value-databases.md b/src/roadmaps/backend/content/107-nosql-databases/104-key-value-databases.md
new file mode 100644
index 000000000..939995aa6
--- /dev/null
+++ b/src/roadmaps/backend/content/107-nosql-databases/104-key-value-databases.md
@@ -0,0 +1,10 @@
+# Key-Value Databases
+
+A key-value database (KV database) is a type of database that stores data as a collection of key-value pairs. In a KV database, each piece of data is identified by a unique key, and the value is the data associated with that key.
+
+KV databases are designed for fast and efficient storage and retrieval of data, and they are often used in applications that require high performance and low latency. They are particularly well-suited for storing large amounts of unstructured data, such as log data and user profiles.
+
+Some popular KV databases include Redis, Memcached, and LevelDB. These databases are often used in combination with other types of databases, such as relational databases or document databases, to provide a complete and scalable data storage solution.
+
+Free Content
+Key-Value Databases - Wikipedia
diff --git a/src/roadmaps/backend/content/107-nosql-databases/index.md b/src/roadmaps/backend/content/107-nosql-databases/readme.md
similarity index 60%
rename from src/roadmaps/backend/content/107-nosql-databases/index.md
rename to src/roadmaps/backend/content/107-nosql-databases/readme.md
index b9822cb09..02ad6fd9b 100644
--- a/src/roadmaps/backend/content/107-nosql-databases/index.md
+++ b/src/roadmaps/backend/content/107-nosql-databases/readme.md
@@ -3,8 +3,7 @@
NoSQL databases offer data storage and retrieval that is modelled differently to "traditional" relational databases. NoSQL databases typically focus more on horizontal scaling, eventual consistency, speed and flexibility and is used commonly for big data and real-time streaming applications.
NoSQL is often described as a BASE system (**B**asically **A**vailable, **S**oft state, **E**ventual consistency) as opposed to SQL/relational which typically focus on ACID (Atomicity, Consistency, Isolation, Durability). Common NoSQL data structures include key-value pair, wide column, graph and document.
-{% resources %}
- {% Blog "https://www.mongodb.com/nosql-explained", "NoSQL Explained" %}
- {% Blog "https://www.youtube.com/watch?v=0buKQHokLK8", "How do NoSQL Databases work" %}
- {% Blog "https://www.youtube.com/watch?v=ruz-vK8IesE", "SQL vs NoSQL Explained" %}
-{% endresources %}
+Free Content
+NoSQL Explained
+How do NoSQL Databases work
+SQL vs NoSQL Explained
diff --git a/src/roadmaps/backend/content/108-more-about-databases/100-orms.md b/src/roadmaps/backend/content/108-more-about-databases/100-orms.md
index 00a55f231..52eba2cfa 100644
--- a/src/roadmaps/backend/content/108-more-about-databases/100-orms.md
+++ b/src/roadmaps/backend/content/108-more-about-databases/100-orms.md
@@ -2,7 +2,6 @@
Object-Relational Mapping (ORM) is a technique that lets you query and manipulate data from a database using an object-oriented paradigm. When talking about ORM, most people are referring to a library that implements the Object-Relational Mapping technique, hence the phrase "an ORM".
-{% resources %}
- {% Blog "https://en.wikipedia.org/wiki/Object–relational_mapping", "Object Relational Mapping - Wikipedia" %}
- {% Blog "https://stackoverflow.com/questions/1279613/what-is-an-orm-how-does-it-work-and-how-should-i-use-one", "What is an ORM and how should I use it?" %}
-{% endresources %}
+Free Content
+Object Relational Mapping - Wikipedia
+What is an ORM and how should I use it?
diff --git a/src/roadmaps/backend/content/108-more-about-databases/101-acid.md b/src/roadmaps/backend/content/108-more-about-databases/101-acid.md
index 4ae8116ca..d44cba400 100644
--- a/src/roadmaps/backend/content/108-more-about-databases/101-acid.md
+++ b/src/roadmaps/backend/content/108-more-about-databases/101-acid.md
@@ -2,8 +2,7 @@
ACID are the four properties of any database system that help in making sure that we are able to perform the transactions in a reliable manner. It's an acronym which refers to the presence of four properties: atomicity, consistency, isolation and durability
-{% resources %}
- {% Blog "https://retool.com/blog/whats-an-acid-compliant-database/", "What is ACID Compliant Database?" %}
- {% Blog "https://fauna.com/blog/what-is-acid-compliance-atomicity-consistency-isolation", "What is ACID Compliance?: Atomicity, Consistency, Isolation" %}
- {% Blog "https://www.youtube.com/watch?v=yaQ5YMWkxq4", "ACID Explained: Atomic, Consistent, Isolated & Durable" %}
-{% endresources %}
+Free Content
+What is ACID Compliant Database?
+What is ACID Compliance?: Atomicity, Consistency, Isolation
+ACID Explained: Atomic, Consistent, Isolated & Durable
diff --git a/src/roadmaps/backend/content/108-more-about-databases/102-transactions.md b/src/roadmaps/backend/content/108-more-about-databases/102-transactions.md
index 093e68a4e..797c69472 100644
--- a/src/roadmaps/backend/content/108-more-about-databases/102-transactions.md
+++ b/src/roadmaps/backend/content/108-more-about-databases/102-transactions.md
@@ -2,6 +2,5 @@
In short, a database transaction is a sequence of multiple operations performed on a database, and all served as a single logical unit of work — taking place wholly or not at all. In other words, there's never a case where only half of the operations are performed and the results saved.
-{% resources %}
- {% Blog "https://fauna.com/blog/database-transaction", "What are Transactions?" %}
-{% endresources %}
+Free Content
+What are Transactions?
diff --git a/src/roadmaps/backend/content/108-more-about-databases/103-n-plus-one-problem.md b/src/roadmaps/backend/content/108-more-about-databases/103-n-plus-one-problem.md
index 0d0c5e418..3b02ec58a 100644
--- a/src/roadmaps/backend/content/108-more-about-databases/103-n-plus-one-problem.md
+++ b/src/roadmaps/backend/content/108-more-about-databases/103-n-plus-one-problem.md
@@ -2,6 +2,5 @@
The N+1 query problem happens when your code executes N additional query statements to fetch the same data that could have been retrieved when executing the primary query.
-{% resources %}
- {% Blog "https://medium.com/doctolib/understanding-and-fixing-n-1-query-30623109fe89", "In Detail Explanation of N+1 Problem" %}
-{% endresources %}
+Free Content
+In Detail Explanation of N+1 Problem
diff --git a/src/roadmaps/backend/content/108-more-about-databases/104-database-normalization.md b/src/roadmaps/backend/content/108-more-about-databases/104-database-normalization.md
index 1b5a8b9fd..cd68ad5a9 100644
--- a/src/roadmaps/backend/content/108-more-about-databases/104-database-normalization.md
+++ b/src/roadmaps/backend/content/108-more-about-databases/104-database-normalization.md
@@ -4,8 +4,8 @@ Database normalization is the process of structuring a relational database in ac
Normalization entails organizing the columns (attributes) and tables (relations) of a database to ensure that their dependencies are properly enforced by database integrity constraints. It is accomplished by applying some formal rules either by a process of synthesis (creating a new database design) or decomposition (improving an existing database design).
-{% resources %}
- {% Blog "https://www.guru99.com/database-normalization.html", "What is Normalization in DBMS (SQL)? 1NF, 2NF, 3NF, BCNF Database with Example" %}
- {% Blog "https://en.wikipedia.org/wiki/Database_normalization", "Database normalization" %}
- {% Blog "https://www.youtube.com/watch?v=xoTyrdT9SZI", "Basic Concept of Database Normalization" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+
+What is Normalization in DBMS (SQL)? 1NF, 2NF, 3NF, BCNF Database with Example
+Database normalization
+Basic Concept of Database Normalization
\ No newline at end of file
diff --git a/src/roadmaps/backend/content/108-more-about-databases/105-database-indexes.md b/src/roadmaps/backend/content/108-more-about-databases/105-database-indexes.md
deleted file mode 100644
index 2b07898f1..000000000
--- a/src/roadmaps/backend/content/108-more-about-databases/105-database-indexes.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Database Indexes
-
-An index is a data structure that you build and assign on top of an existing table that basically looks through your table and tries to analyze and summarize so that it can create shortcuts.
-
-{% resources %}
- {% Blog "https://www.freecodecamp.org/news/database-indexing-at-a-glance-bb50809d48bd/", "An in-depth look at Database Indexing" %}
- {% Blog "https://www.youtube.com/watch?v=-qNSXK7s7_w", "Database Indexing Explained" %}
-{% endresources %}
diff --git a/src/roadmaps/backend/content/108-more-about-databases/105-failure-modes.md b/src/roadmaps/backend/content/108-more-about-databases/105-failure-modes.md
new file mode 100644
index 000000000..3ece98265
--- /dev/null
+++ b/src/roadmaps/backend/content/108-more-about-databases/105-failure-modes.md
@@ -0,0 +1,14 @@
+# Failure Modes
+
+There are several different failure modes that can occur in a database, including:
+
+* Read contention: This occurs when multiple clients or processes are trying to read data from the same location in the database at the same time, which can lead to delays or errors.
+* Write contention: This occurs when multiple clients or processes are trying to write data to the same location in the database at the same time, which can lead to delays or errors.
+* Thundering herd: This occurs when a large number of clients or processes try to access the same resource simultaneously, which can lead to resource exhaustion and reduced performance.
+* Cascade: This occurs when a failure in one part of the database system causes a chain reaction that leads to failures in other parts of the system.
+* Deadlock: This occurs when two or more transactions are waiting for each other to release a lock on a resource, leading to a standstill.
+* Corruption: This occurs when data in the database becomes corrupted, which can lead to errors or unexpected results when reading or writing to the database.
+* Hardware failure: This occurs when hardware components, such as disk drives or memory, fail, which can lead to data loss or corruption.
+* Software failure: This occurs when software components, such as the database management system or application, fail, which can lead to errors or unexpected results.
+* Network failure: This occurs when the network connection between the database and the client is lost, which can lead to errors or timeouts when trying to access the database.
+* Denial of service (DoS) attack: This occurs when a malicious actor attempts to overwhelm the database with requests, leading to resource exhaustion and reduced performance.
diff --git a/src/roadmaps/backend/content/108-more-about-databases/106-profiling-performance.md b/src/roadmaps/backend/content/108-more-about-databases/106-profiling-performance.md
new file mode 100644
index 000000000..7d0287e00
--- /dev/null
+++ b/src/roadmaps/backend/content/108-more-about-databases/106-profiling-performance.md
@@ -0,0 +1,11 @@
+# Profiling Performance
+
+There are several ways to profile the performance of a database:
+
+* Monitor system performance: You can use tools like the Windows Task Manager or the Unix/Linux top command to monitor the performance of your database server. These tools allow you to see the overall CPU, memory, and disk usage of the system, which can help identify any resource bottlenecks.
+* Use database-specific tools: Most database management systems (DBMSs) have their own tools for monitoring performance. For example, Microsoft SQL Server has the SQL Server Management Studio (SSMS) and the sys.dm_os_wait_stats dynamic management view, while Oracle has the Oracle Enterprise Manager and the v$waitstat view. These tools allow you to see specific performance metrics, such as the amount of time spent waiting on locks or the number of physical reads and writes.
+* Use third-party tools: There are also several third-party tools that can help you profile the performance of a database. Some examples include SolarWinds Database Performance Analyzer, Quest Software Foglight, and Redgate SQL Monitor. These tools often provide more in-depth performance analysis and can help you identify specific issues or bottlenecks.
+* Analyze slow queries: If you have specific queries that are running slowly, you can use tools like EXPLAIN PLAN or SHOW PLAN in MySQL or SQL Server to see the execution plan for the query and identify any potential issues. You can also use tools like the MySQL slow query log or the SQL Server Profiler to capture slow queries and analyze them further.
+* Monitor application performance: If you are experiencing performance issues with a specific application that is using the database, you can use tools like Application Insights or New Relic to monitor the performance of the application and identify any issues that may be related to the database.
+
+Have a look at the documentation for the database that you are using.
diff --git a/src/roadmaps/backend/content/108-more-about-databases/107-sharding-strategies.md b/src/roadmaps/backend/content/108-more-about-databases/107-sharding-strategies.md
deleted file mode 100644
index e23bc16f0..000000000
--- a/src/roadmaps/backend/content/108-more-about-databases/107-sharding-strategies.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Sharding strategies
-
-Sharding strategy is a technique to split a large dataset into smaller chunks (logical shard) in which we distribute these chunks in different machines/database nodes in order to distribute the traffic load. It’s a good mechanism to improve the scalability of an application. Many databases support sharding, but not all.
-
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/database-sharding-a-system-design-concept/", "Database Sharding – System Design Interview Concept" %}
- {% Blog "https://en.wikipedia.org/wiki/Shard_(database_architecture)", "Wikipedia - Sharding in Datbase Architectures" %}
- {% Blog "https://stackoverflow.blog/2022/03/14/how-sharding-a-database-can-make-it-faster/", "How sharding a database can make it faster" %}
-{% endresources %}
diff --git a/src/roadmaps/backend/content/108-more-about-databases/108-cap-theorem.md b/src/roadmaps/backend/content/108-more-about-databases/108-cap-theorem.md
deleted file mode 100644
index 5619a1a5f..000000000
--- a/src/roadmaps/backend/content/108-more-about-databases/108-cap-theorem.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# CAP Theorem
-
-CAP is an acronym that stands for Consistency, Availability and Partition Tolerance. According to CAP theorem, any distributed system can only guarantee two of the three properties at any point of time. You can't guarantee all three properties at once.
-
-{% resources %}
- {% Blog "https://www.bmc.com/blogs/cap-theorem/", "What is CAP Theorem?" %}
- {% Blog "https://en.wikipedia.org/wiki/CAP_theorem", "CAP Theorem - Wikipedia" %}
- {% Blog "https://mwhittaker.github.io/blog/an_illustrated_proof_of_the_cap_theorem/", "An Illustrated Proof of the CAP Theorem" %}
- {% Blog "https://www.ibm.com/uk-en/cloud/learn/cap-theorem", "CAP Theorem and its applications in NoSQL Databases" %}
- {% Blog "https://www.youtube.com/watch?v=_RbsFXWRZ10", "What is CAP Theorem?" %}
-{% endresources %}
diff --git a/src/roadmaps/backend/content/108-more-about-databases/index.md b/src/roadmaps/backend/content/108-more-about-databases/index.md
deleted file mode 100644
index 313daa484..000000000
--- a/src/roadmaps/backend/content/108-more-about-databases/index.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Databases
-
-A database is a collection of useful data of one or more related organizations structured in a way to make data an asset to the organization. A database management system is a software designed to assist in maintaining and extracting large collections of data in a timely fashion.
-
-{% resources %}
- {% Blog "https://www.oracle.com/database/what-is-database/", "Oracle: What is a Database?" %}
- {% Blog "https://www.prisma.io/dataguide/intro/what-are-databases", "Prisma.io: What are Databases?" %}
-{% endresources %}
diff --git a/src/roadmaps/backend/content/108-more-about-databases/readme.md b/src/roadmaps/backend/content/108-more-about-databases/readme.md
new file mode 100644
index 000000000..cd001c442
--- /dev/null
+++ b/src/roadmaps/backend/content/108-more-about-databases/readme.md
@@ -0,0 +1,7 @@
+# Databases
+
+A database is a collection of useful data of one or more related organizations structured in a way to make data an asset to the organization. A database management system is a software designed to assist in maintaining and extracting large collections of data in a timely fashion.
+
+Free Content
+Oracle: What is a Database?
+Prisma.io: What are Databases?
diff --git a/src/roadmaps/backend/content/109-apis/100-rest.md b/src/roadmaps/backend/content/109-apis/100-rest.md
index b8d09f743..7b38b8115 100644
--- a/src/roadmaps/backend/content/109-apis/100-rest.md
+++ b/src/roadmaps/backend/content/109-apis/100-rest.md
@@ -2,9 +2,9 @@
REST, or REpresentational State Transfer, is an architectural style for providing standards between computer systems on the web, making it easier for systems to communicate with each other.
-{% resources %}
- {% Blog "https://www.codecademy.com/article/what-is-rest", "What is REST?" %}
- {% Blog "https://www.redhat.com/en/topics/api/what-is-a-rest-api", "What is a REST API?" %}
- {% Blog "https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm", "Roy Fieldings dissertation chapter, Representational State Transfer (REST)" %}
- {% Course "https://restapitutorial.com/", "Learn REST: A RESTful Tutorial" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+
+What is REST?
+What is a REST API?
+Roy Fielding's dissertation chapter, "Representational State Transfer (REST)"
+Learn REST: A RESTful Tutorial
\ No newline at end of file
diff --git a/src/roadmaps/backend/content/109-apis/101-json-apis.md b/src/roadmaps/backend/content/109-apis/101-json-apis.md
index 7eb0f7593..cbff87737 100644
--- a/src/roadmaps/backend/content/109-apis/101-json-apis.md
+++ b/src/roadmaps/backend/content/109-apis/101-json-apis.md
@@ -2,8 +2,8 @@
JSON or JavaScript Object Notation is an encoding scheme that is designed to eliminate the need for an ad-hoc code for each application to communicate with servers that communicate in a defined way. JSON API module exposes an implementation for data stores and data structures, such as entity types, bundles, and fields.
-{% resources %}
- {% Official "https://jsonapi.org/", "Official Website" %}
- {% Blog "https://jsonapi.org/implementations/", "Official Docs" %}
- {% Blog "https://www.youtube.com/watch?v=N-4prIh7t38", "JSON API: Explained in 4 minutes " %}
-{% endresources %}
+Free Content
+
+Official Website
+Official Docs
+JSON API: Explained in 4 minutes
diff --git a/src/roadmaps/backend/content/109-apis/102-soap.md b/src/roadmaps/backend/content/109-apis/102-soap.md
index 8e5d9b5ba..6833bfdd1 100644
--- a/src/roadmaps/backend/content/109-apis/102-soap.md
+++ b/src/roadmaps/backend/content/109-apis/102-soap.md
@@ -2,6 +2,5 @@
Simple Object Access Protocol (SOAP) is a message protocol for exchanging information between systems and applications. When it comes to application programming interfaces (APIs), a SOAP API is developed in a more structured and formalized way. SOAP messages can be carried over a variety of lower-level protocols, including the web-related Hypertext Transfer Protocol (HTTP).
-{% resources %}
- {% Course "https://www.w3schools.com/xml/xml_soap.asp", "w3school SOAP explanation" %}
-{% endresources %}
+Free Content
+w3school SOAP explanation
diff --git a/src/roadmaps/backend/content/109-apis/103-grpc.md b/src/roadmaps/backend/content/109-apis/103-grpc.md
index 1827639e6..7ddff5be5 100644
--- a/src/roadmaps/backend/content/109-apis/103-grpc.md
+++ b/src/roadmaps/backend/content/109-apis/103-grpc.md
@@ -4,7 +4,6 @@ gRPC is a high-performance, open source universal RPC framework
RPC stands for Remote Procedure Call, there's an ongoing debate on what the g stands for. RPC is a protocol that allows a program to execute a procedure of another program located on another computer. The great advantage is that the developer doesn’t need to code the details of the remote interaction. The remote procedure is called like any other function. But the client and the server can be coded in different languages.
-{% resources %}
- {% Official "https://grpc.io/", "gRPC Website" %}
- {% Official "https://grpc.io/docs/", "gRPC Docs" %}
-{% endresources %}
+Free Content
+gRPC Website
+gRPC Docs
diff --git a/src/roadmaps/backend/content/109-apis/104-hateoas.md b/src/roadmaps/backend/content/109-apis/104-hateoas.md
index 2b77e65de..56a8d4939 100644
--- a/src/roadmaps/backend/content/109-apis/104-hateoas.md
+++ b/src/roadmaps/backend/content/109-apis/104-hateoas.md
@@ -2,6 +2,5 @@
HATEOAS is an acronym for Hypermedia As The Engine Of Application State, it's the concept that when sending information over a RESTful API the document received should contain everything the client needs in order to parse and use the data i.e they don't have to contact any other endpoint not explicitly mentioned within the Document
-{% resources %}
- {% Blog "https://youtu.be/MiOSzpfP1Ww?t=236", "Oktane17: Designing Beautiful REST + JSON APIs (3:56 - 5:57)" %}
-{% endresources %}
+Free Content
+Oktane17: Designing Beautiful REST + JSON APIs (3:56 - 5:57)
diff --git a/src/roadmaps/backend/content/109-apis/105-open-api-spec.md b/src/roadmaps/backend/content/109-apis/105-open-api-spec.md
index 8d03bd883..7c7e69144 100644
--- a/src/roadmaps/backend/content/109-apis/105-open-api-spec.md
+++ b/src/roadmaps/backend/content/109-apis/105-open-api-spec.md
@@ -4,9 +4,8 @@ The OpenAPI Specification (OAS) defines a standard, language-agnostic interface
An OpenAPI definition can then be used by documentation generation tools to display the API, code generation tools to generate servers and clients in various programming languages, testing tools, and many other use cases.
-{% resources %}
- {% Official "https://swagger.io/specification/", "OpenAPI Specification Website" %}
- {% Blog "https://swagger.io/tools/swagger-editor/", "Open API Live Editor" %}
- {% Course "https://swagger.io/docs/specification/about/", "Official training guide" %}
- {% Blog "https://www.youtube.com/watch?v=6kwmW_p_Tig", "OpenAPI 3.0: How to Design and Document APIs with the Latest OpenAPI Specification 3.0" %}
-{% endresources %}
+Free Content
+OpenAPI Specification Website
+Open API Live Editor
+Official training guide
+OpenAPI 3.0: How to Design and Document APIs with the Latest OpenAPI Specification 3.0
diff --git a/src/roadmaps/backend/content/109-apis/106-authentication/100-cookie-based.md b/src/roadmaps/backend/content/109-apis/106-authentication/100-cookie-based.md
index 6b763f86c..d4de9fa1f 100644
--- a/src/roadmaps/backend/content/109-apis/106-authentication/100-cookie-based.md
+++ b/src/roadmaps/backend/content/109-apis/106-authentication/100-cookie-based.md
@@ -2,7 +2,6 @@
Cookies are pieces of data used to identify the user and their preferences. The browser returns the cookie to the server every time the page is requested. Specific cookies like HTTP cookies are used to perform cookie-based authentication to maintain the session for each user.
-{% resources %}
- {% Blog "https://stackoverflow.com/questions/17769011/how-does-cookie-based-authentication-work", "How does cookie based authentication work?" %}
-{% endresources %}
+Free Content
+How does cookie based authentication work?
diff --git a/src/roadmaps/backend/content/109-apis/106-authentication/101-oauth.md b/src/roadmaps/backend/content/109-apis/106-authentication/101-oauth.md
index 9797fea2d..be4eae79e 100644
--- a/src/roadmaps/backend/content/109-apis/106-authentication/101-oauth.md
+++ b/src/roadmaps/backend/content/109-apis/106-authentication/101-oauth.md
@@ -6,9 +6,8 @@ In its most simplest form, OAuth delegates authentication to services like Faceb
It is mostly utilized for REST/APIs and only provides a limited scope of a user's data.
-{% resources %}
- {% Blog "https://developer.okta.com/blog/2017/06/21/what-the-heck-is-oauth", "Okta - What the Heck is OAuth" %}
- {% Blog "https://www.digitalocean.com/community/tutorials/an-introduction-to-oauth-2", "DigitalOcean - An Introduction to OAuth 2" %}
- {% Blog "https://www.youtube.com/watch?v=t4-416mg6iU", "What is OAuth really all about" %}
- {% Blog "https://www.youtube.com/watch?v=CPbvxxslDTU", "OAuth 2.0: An Overview" %}
-{% endresources %}
+Free Content
+Okta - What the Heck is OAuth
+DigitalOcean - An Introduction to OAuth 2
+What is OAuth really all about
+OAuth 2.0: An Overview
diff --git a/src/roadmaps/backend/content/109-apis/106-authentication/102-basic-authentication.md b/src/roadmaps/backend/content/109-apis/106-authentication/102-basic-authentication.md
index 26d9c32e0..652af9ef1 100644
--- a/src/roadmaps/backend/content/109-apis/106-authentication/102-basic-authentication.md
+++ b/src/roadmaps/backend/content/109-apis/106-authentication/102-basic-authentication.md
@@ -4,7 +4,5 @@ Given the name "Basic Authentication", you should not confuse Basic Authenticati
Because it is a part of the HTTP specifications, all the browsers have native support for "HTTP Basic Authentication".
-{% resources %}
- {% Blog "https://roadmap.sh/guides/http-basic-authentication", "HTTP Basic Authentication" %}
- {% Blog "https://www.youtube.com/watch?v=mwccHwUn7Gc", "Illustrated HTTP Basic Authentication" %}
-{% endresources %}
+HTTP Basic Authentication
+Illustrated HTTP Basic Authentication
diff --git a/src/roadmaps/backend/content/109-apis/106-authentication/103-token-authentication.md b/src/roadmaps/backend/content/109-apis/106-authentication/103-token-authentication.md
index b907f0ba9..d9d72b3fb 100644
--- a/src/roadmaps/backend/content/109-apis/106-authentication/103-token-authentication.md
+++ b/src/roadmaps/backend/content/109-apis/106-authentication/103-token-authentication.md
@@ -9,6 +9,5 @@ Token-based authentication is different from traditional password-based or serve
But using tokens requires a bit of coding know-how. Most developers pick up the techniques quickly, but there is a learning curve.
-{% resources %}
- {% Blog "https://www.okta.com/identity-101/what-is-token-based-authentication/", "What Is Token-Based Authentication?" %}
-{% endresources %}
+Free Content
+What Is Token-Based Authentication?
diff --git a/src/roadmaps/backend/content/109-apis/106-authentication/104-jwt.md b/src/roadmaps/backend/content/109-apis/106-authentication/104-jwt.md
index 1879584cb..03c6bdb29 100644
--- a/src/roadmaps/backend/content/109-apis/106-authentication/104-jwt.md
+++ b/src/roadmaps/backend/content/109-apis/106-authentication/104-jwt.md
@@ -2,10 +2,9 @@
JWT stands for JSON Web Token is a token-based encryption open standard/methodology that is used to transfer information securely as a JSON object. Clients and Servers use JWT to securely share information, with the JWT containing encoded JSON objects and claims. JWT tokens are designed to be compact, safe to use within URLs, and ideal for SSO contexts.
-{% resources %}
- {% Official "https://jwt.io/", "jwt.io Website" %}
- {% Blog "https://jwt.io/introduction", "Introduction to JSON Web Tokens" %}
- {% Blog "https://www.akana.com/blog/what-is-jwt", "What is JWT?" %}
- {% Blog "https://www.youtube.com/watch?v=7Q17ubqLfaM", "What Is JWT and Why Should You Use JWT" %}
- {% Blog "https://www.youtube.com/watch?v=926mknSW9Lo", "What is JWT? JSON Web Token Explained" %}
-{% endresources %}
+Free Content
+jwt.io Website
+Introduction to JSON Web Tokens
+What is JWT?
+What Is JWT and Why Should You Use JWT
+What is JWT? JSON Web Token Explained
diff --git a/src/roadmaps/backend/content/109-apis/106-authentication/105-openid.md b/src/roadmaps/backend/content/109-apis/106-authentication/105-openid.md
index dd2410c65..93e33ea10 100644
--- a/src/roadmaps/backend/content/109-apis/106-authentication/105-openid.md
+++ b/src/roadmaps/backend/content/109-apis/106-authentication/105-openid.md
@@ -3,9 +3,8 @@
OpenID is a protocol that utilizes the authorization and authentication mechanisms of OAuth 2.0 and is now widely adopted by many identity providers on the Internet.
It solves the problem of needing to share user's personal info between many different web services(e.g. online shops, discussion forums etc.)
-{% resources %}
- {% Blog "https://openid.net/", "Official Website" %}
- {% Blog "https://openid.net/connect/", "What is OpenID" %}
- {% Blog "https://securew2.com/blog/oauth-vs-openid-which-is-better", "OAuth vs OpenID" %}
- {% Blog "https://www.youtube.com/watch?v=t18YB3xDfXI", "An Illustrated Guide to OAuth and OpenID Connect" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+Official Website
+What is OpenID
+OAuth vs OpenID
+An Illustrated Guide to OAuth and OpenID Connect
\ No newline at end of file
diff --git a/src/roadmaps/backend/content/109-apis/106-authentication/index.md b/src/roadmaps/backend/content/109-apis/106-authentication/index.md
deleted file mode 100644
index 8e73a1967..000000000
--- a/src/roadmaps/backend/content/109-apis/106-authentication/index.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# Authentication
-
-The API authentication process validates the identity of the client attempting to make a connection by using an authentication protocol. The protocol sends the credentials from the remote client requesting the connection to the remote access server in either plain text or encrypted form. The server then knows whether it can grant access to that remote client or not.
-
-Here is the list of common ways of authentication:
-
-- JWT Authentication
-- Token based Authentication
-- Session based Authentication
-- Basic Authentication
-- OAuth - Open Authorization
-- SSO - Single Sign On
-
-{% resources %}
- {% Blog "https://swoopnow.com/user-authentication/", "User Authentication: Understanding the Basics & Top Tips" %}
- {% Blog "https://betterprogramming.pub/how-do-you-authenticate-mate-f2b70904cc3a", "An overview about authentication methods" %}
- {% Blog "https://roadmap.sh/guides/sso", "SSO - Single Sign On" %}
- {% Blog "https://roadmap.sh/guides/oauth", "OAuth - Open Authorization" %}
- {% Blog "https://roadmap.sh/guides/jwt-authentication", "JWT Authentication" %}
- {% Blog "https://roadmap.sh/guides/token-authentication", "Token Based Authentication" %}
- {% Blog "https://roadmap.sh/guides/session-authentication", "Session Based Authentication" %}
- {% Blog "https://roadmap.sh/guides/basic-authentication", "Basic Authentication" %}
-{% endresources %}
diff --git a/src/roadmaps/backend/content/109-apis/106-authentication/readme.md b/src/roadmaps/backend/content/109-apis/106-authentication/readme.md
new file mode 100644
index 000000000..f39beeb1c
--- /dev/null
+++ b/src/roadmaps/backend/content/109-apis/106-authentication/readme.md
@@ -0,0 +1,22 @@
+# Authentication
+
+The API authentication process validates the identity of the client attempting to make a connection by using an authentication protocol. The protocol sends the credentials from the remote client requesting the connection to the remote access server in either plain text or encrypted form. The server then knows whether it can grant access to that remote client or not.
+
+Here is the list of common ways of authentication:
+
+- JWT Authentication
+- Token based Authentication
+- Session based Authentication
+- Basic Authentication
+- OAuth - Open Authorization
+- SSO - Single Sign On
+
+Free Content
+User Authentication: Understanding the Basics & Top Tips
+An overview about authentication methods
+SSO - Single Sign On
+OAuth - Open Authorization
+JWT Authentication
+Token Based Authentication
+Session Based Authentication
+Basic Authentication
diff --git a/src/roadmaps/backend/content/109-apis/106-graphql.md b/src/roadmaps/backend/content/109-apis/106-graphql.md
new file mode 100644
index 000000000..b3630a5bd
--- /dev/null
+++ b/src/roadmaps/backend/content/109-apis/106-graphql.md
@@ -0,0 +1,12 @@
+# GraphQL
+
+GraphQL is a query language and runtime system for APIs (application programming interfaces). It is designed to provide a flexible and efficient way for clients to request data from servers, and it is often used as an alternative to REST (representational state transfer) APIs.
+
+One of the main features of GraphQL is its ability to specify exactly the data that is needed, rather than receiving a fixed set of data from an endpoint. This allows clients to request only the data that they need, and it reduces the amount of data that needs to be transferred over the network.
+
+GraphQL also provides a way to define the structure of the data that is returned from the server, allowing clients to request data in a predictable and flexible way. This makes it easier to build and maintain client applications that depend on data from the server.
+
+GraphQL is widely used in modern web and mobile applications, and it is supported by a large and active developer community.
+
+Free Content
+GraphQL Official Website
diff --git a/src/roadmaps/backend/content/109-apis/index.md b/src/roadmaps/backend/content/109-apis/index.md
deleted file mode 100644
index 76feed570..000000000
--- a/src/roadmaps/backend/content/109-apis/index.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# APIs
-
-API is the acronym for Application Programming Interface, which is a software intermediary that allows two applications to talk to each other.
-
-{% resources %}
- {% Blog "https://aws.amazon.com/what-is/api/", "What is an API?" %}
- {% Blog "https://www.youtube.com/watch?v=s7wmiS2mSXY", "What is an API?" %}
-{% endresources %}
diff --git a/src/roadmaps/backend/content/109-apis/readme.md b/src/roadmaps/backend/content/109-apis/readme.md
new file mode 100644
index 000000000..85b707b85
--- /dev/null
+++ b/src/roadmaps/backend/content/109-apis/readme.md
@@ -0,0 +1,7 @@
+# APIs
+
+API is the acronym for Application Programming Interface, which is a software intermediary that allows two applications to talk to each other.
+
+Free Content
+What is an API?
+What is an API?
diff --git a/src/roadmaps/backend/content/109-scaling-databases/100-database-indexes.md b/src/roadmaps/backend/content/109-scaling-databases/100-database-indexes.md
new file mode 100644
index 000000000..8f4dc6c30
--- /dev/null
+++ b/src/roadmaps/backend/content/109-scaling-databases/100-database-indexes.md
@@ -0,0 +1,7 @@
+# Database Indexes
+
+An index is a data structure that you build and assign on top of an existing table that basically looks through your table and tries to analyze and summarize so that it can create shortcuts.
+
+Free Content
+An in-depth look at Database Indexing
+Database Indexing Explained
diff --git a/src/roadmaps/backend/content/108-more-about-databases/106-data-replication.md b/src/roadmaps/backend/content/109-scaling-databases/101-data-replication.md
similarity index 68%
rename from src/roadmaps/backend/content/108-more-about-databases/106-data-replication.md
rename to src/roadmaps/backend/content/109-scaling-databases/101-data-replication.md
index 86059d179..255ef50e9 100644
--- a/src/roadmaps/backend/content/108-more-about-databases/106-data-replication.md
+++ b/src/roadmaps/backend/content/109-scaling-databases/101-data-replication.md
@@ -2,6 +2,6 @@
Data replication is the process by which data residing on a physical/virtual server(s) or cloud instance (primary instance) is continuously replicated or copied to a secondary server(s) or cloud instance (standby instance). Organizations replicate data to support high availability, backup, and/or disaster recovery.
-{% resources %}
- {% Blog "https://youtu.be/fUrKt-AQYtE", "What is Data Replication?" %}
-{% endresources %}
+Free Content
+
+What is Data Replication?
diff --git a/src/roadmaps/backend/content/109-scaling-databases/102-sharding-strategies.md b/src/roadmaps/backend/content/109-scaling-databases/102-sharding-strategies.md
new file mode 100644
index 000000000..fd03a5dc3
--- /dev/null
+++ b/src/roadmaps/backend/content/109-scaling-databases/102-sharding-strategies.md
@@ -0,0 +1,9 @@
+# Sharding strategies
+
+Sharding strategy is a technique to split a large dataset into smaller chunks (logical shard) in which we distribute these chunks in different machines/database nodes in order to distribute the traffic load. It’s a good mechanism to improve the scalability of an application. Many databases support sharding, but not all.
+
+Free Content
+
+Database Sharding – System Design Interview Concept
+Wikipedia - Sharding in Datbase Architectures
+How sharding a database can make it faster
diff --git a/src/roadmaps/backend/content/109-scaling-databases/103-cap-theorem.md b/src/roadmaps/backend/content/109-scaling-databases/103-cap-theorem.md
new file mode 100644
index 000000000..7f7a22712
--- /dev/null
+++ b/src/roadmaps/backend/content/109-scaling-databases/103-cap-theorem.md
@@ -0,0 +1,10 @@
+# CAP Theorem
+
+CAP is an acronym that stands for Consistency, Availability and Partition Tolerance. According to CAP theorem, any distributed system can only guarantee two of the three properties at any point of time. You can't guarantee all three properties at once.
+
+Free Content
+What is CAP Theorem?
+CAP Theorem - Wikipedia
+An Illustrated Proof of the CAP Theorem
+CAP Theorem and it's applications in NoSQL Databases
+What is CAP Theorem?
diff --git a/src/roadmaps/backend/content/109-scaling-databases/readme.md b/src/roadmaps/backend/content/109-scaling-databases/readme.md
new file mode 100644
index 000000000..cd001c442
--- /dev/null
+++ b/src/roadmaps/backend/content/109-scaling-databases/readme.md
@@ -0,0 +1,7 @@
+# Databases
+
+A database is a collection of useful data of one or more related organizations structured in a way to make data an asset to the organization. A database management system is a software designed to assist in maintaining and extracting large collections of data in a timely fashion.
+
+Free Content
+Oracle: What is a Database?
+Prisma.io: What are Databases?
diff --git a/src/roadmaps/backend/content/110-caching/100-cdn.md b/src/roadmaps/backend/content/110-caching/100-cdn.md
index 0d4827208..6cfa909bc 100644
--- a/src/roadmaps/backend/content/110-caching/100-cdn.md
+++ b/src/roadmaps/backend/content/110-caching/100-cdn.md
@@ -5,9 +5,8 @@ Traditional commercial CDNs (Amazon CloudFront, Akamai, CloudFlare and Fastly) p
Serving assets and contents via a CDN reduces bandwidth on website hosting, provides an extra layer of caching to reduce potential outages and can improve website security as well
-{% resources %}
- {% Blog "https://www.cloudflare.com/en-ca/learning/cdn/what-is-a-cdn/", "CloudFlare - What is a CDN? | How do CDNs work?" %}
- {% Blog "https://en.wikipedia.org/wiki/Content_delivery_network", "Wikipedia - Content Delivery Network" %}
- {% Blog "https://www.youtube.com/watch?v=841kyd_mfH0", "What is Cloud CDN?" %}
- {% Blog "https://www.youtube.com/watch?v=Bsq5cKkS33I", "What is a Content Delivery Network (CDN)?" %}
-{% endresources %}
+Free Content
+CloudFlare - What is a CDN? | How do CDNs work?
+Wikipedia - Content Delivery Network
+What is Cloud CDN?
+What is a Content Delivery Network (CDN)?
diff --git a/src/roadmaps/backend/content/110-caching/101-server-side/100-redis.md b/src/roadmaps/backend/content/110-caching/101-server-side/100-redis.md
index 6d53e9193..e7ea87dc2 100644
--- a/src/roadmaps/backend/content/110-caching/101-server-side/100-redis.md
+++ b/src/roadmaps/backend/content/110-caching/101-server-side/100-redis.md
@@ -2,7 +2,7 @@
Redis is an open source (BSD licensed), in-memory **data structure store** used as a database, cache, message broker, and streaming engine. Redis provides data structures such as [strings](https://redis.io/topics/data-types-intro#strings), [hashes](https://redis.io/topics/data-types-intro#hashes), [lists](https://redis.io/topics/data-types-intro#lists), [sets](https://redis.io/topics/data-types-intro#sets), [sorted sets](https://redis.io/topics/data-types-intro#sorted-sets) with range queries, [bitmaps](https://redis.io/topics/data-types-intro#bitmaps), [hyperloglogs](https://redis.io/topics/data-types-intro#hyperloglogs), [geospatial indexes](https://redis.io/commands/geoadd), and [streams](https://redis.io/topics/streams-intro). Redis has built-in [replication](https://redis.io/topics/replication), [Lua scripting](https://redis.io/commands/eval), [LRU eviction](https://redis.io/topics/lru-cache), [transactions](https://redis.io/topics/transactions), and different levels of [on-disk persistence](https://redis.io/topics/persistence), and provides high availability via [Redis Sentinel](https://redis.io/topics/sentinel) and automatic partitioning with [Redis Cluster](https://redis.io/topics/cluster-tutorial).
-{% resources %}
- {% Official "https://redis.io/", "Redis Website" %}
- {% Blog "https://www.youtube.com/watch?v=G1rOthIU-uo", "Redis in 100 Seconds" %}
-{% endresources %}
+Free Content
+
+Redis Website
+Redis in 100 Seconds
diff --git a/src/roadmaps/backend/content/110-caching/101-server-side/101-memcached.md b/src/roadmaps/backend/content/110-caching/101-server-side/101-memcached.md
index f16fb23ba..ed166e1a9 100644
--- a/src/roadmaps/backend/content/110-caching/101-server-side/101-memcached.md
+++ b/src/roadmaps/backend/content/110-caching/101-server-side/101-memcached.md
@@ -6,8 +6,10 @@ Memcached's APIs provide a very large hash table distributed across multiple mac
Memcached has no internal mechanism to track misses which may happen. However, some third-party utilities provide this functionality.
-{% resources %}
- {% Blog "https://en.wikipedia.org/wiki/Memcached", "Memcached, From Wikipedia" %}
- {% Blog "https://github.com/memcached/memcached#readme", "Memcached, From Official Github" %}
- {% Course "https://www.tutorialspoint.com/memcached/index.htm", "Memcached Tutorial" %}
-{% endresources %}
+Free Content
+
+Memcached, From Wikipedia
+
+Memcached, From Official Github
+
+Memcached Tutorial
diff --git a/src/roadmaps/backend/content/110-caching/101-server-side/index.md b/src/roadmaps/backend/content/110-caching/101-server-side/readme.md
similarity index 56%
rename from src/roadmaps/backend/content/110-caching/101-server-side/index.md
rename to src/roadmaps/backend/content/110-caching/101-server-side/readme.md
index ed5eacf69..6fff96bb0 100644
--- a/src/roadmaps/backend/content/110-caching/101-server-side/index.md
+++ b/src/roadmaps/backend/content/110-caching/101-server-side/readme.md
@@ -6,8 +6,7 @@ When the user first requests for the webpage, the website goes under the normal
Next time the user revisits the website, it loads the already saved or cached copy of the webpage, thus making it faster.
-{% resources %}
- {% Blog "https://www.starwindsoftware.com/resource-library/server-side-caching/", "Server-side caching " %}
- {% Blog "https://www.codingninjas.com/codestudio/library/server-side-caching-and-client-side-caching", "Server-side caching and Client-side caching" %}
-{% endresources %}
+Free Content
+Server-side caching
+Server-side caching and Client-side caching
diff --git a/src/roadmaps/backend/content/110-caching/102-client-side.md b/src/roadmaps/backend/content/110-caching/102-client-side.md
index 91bb00b97..317bfdd02 100644
--- a/src/roadmaps/backend/content/110-caching/102-client-side.md
+++ b/src/roadmaps/backend/content/110-caching/102-client-side.md
@@ -2,6 +2,4 @@
Client-side caching is the storage of network data to a local cache for future re-use. After an application fetches network data, it stores that resource in a local cache. Once a resource has been cached, the browser uses the cache on future requests for that resource to boost performance.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=HiBDZgTNpXY", "Everything you need to know about HTTP Caching" %}
-{% endresources %}
+Everything you need to know about HTTP Caching
diff --git a/src/roadmaps/backend/content/110-caching/index.md b/src/roadmaps/backend/content/110-caching/readme.md
similarity index 100%
rename from src/roadmaps/backend/content/110-caching/index.md
rename to src/roadmaps/backend/content/110-caching/readme.md
diff --git a/src/roadmaps/backend/content/111-web-security-knowledge/100-md5.md b/src/roadmaps/backend/content/111-web-security-knowledge/100-md5.md
index b579d81c6..1a558571d 100644
--- a/src/roadmaps/backend/content/111-web-security-knowledge/100-md5.md
+++ b/src/roadmaps/backend/content/111-web-security-knowledge/100-md5.md
@@ -2,8 +2,7 @@
MD5 (Message-Digest Algorithm 5) is a hash function that is currently advised not to be used due to its extensive vulnerabilities. It is still used as a checksum to verify data integrity.
-{% resources %}
- {% Blog "https://en.wikipedia.org/wiki/MD5", "Wikipedia - MD5" %}
- {% Blog "https://www.techtarget.com/searchsecurity/definition/MD5", "What is MD5?" %}
- {% Blog "https://infosecscout.com/why-md5-is-not-safe/", "Why is MD5 not safe?" %}
-{% endresources %}
+Free Content
+Wikipedia - MD5
+What is MD5?
+Why is MD5 not safe?
diff --git a/src/roadmaps/backend/content/111-web-security-knowledge/101-sha-family.md b/src/roadmaps/backend/content/111-web-security-knowledge/101-sha-family.md
index 4b1d850fa..7483cf696 100644
--- a/src/roadmaps/backend/content/111-web-security-knowledge/101-sha-family.md
+++ b/src/roadmaps/backend/content/111-web-security-knowledge/101-sha-family.md
@@ -6,8 +6,7 @@ SHA (Secure Hash Algorithms) is a family of cryptographic hash functions created
- SHA-2: This isn't an algorithm, but a set of them, with SHA-256 and SHA-512 being the most popular. SHA-2 is still secure and widely used.
- SHA-3: Born in a competition, this is the newest member of the family. SHA-3 is very secure and doesn't carry the same design flaws as its brethren.
-{% resources %}
- {% Blog "https://en.wikipedia.org/wiki/SHA-1", "Wikipedia - SHA-1" %}
- {% Blog "https://en.wikipedia.org/wiki/SHA-2", "Wikipedia - SHA-2" %}
- {% Blog "https://en.wikipedia.org/wiki/SHA-3", "Wikipedia - SHA-3" %}
-{% endresources %}
+Free Content
+Wikipedia - SHA-1
+Wikipedia - SHA-2
+Wikipedia - SHA-3
diff --git a/src/roadmaps/backend/content/111-web-security-knowledge/102-bcrypt.md b/src/roadmaps/backend/content/111-web-security-knowledge/102-bcrypt.md
index 4c9c450fd..2d9bcbc68 100644
--- a/src/roadmaps/backend/content/111-web-security-knowledge/102-bcrypt.md
+++ b/src/roadmaps/backend/content/111-web-security-knowledge/102-bcrypt.md
@@ -2,8 +2,7 @@
bcrypt is a password hashing function, that has been proven reliable and secure since it's release in 1999. It has been implemented into most commonly-used programming languages.
-{% resources %}
- {% Official "https://www.npmjs.com/package/bcrypt", "bcrypts npm package" %}
- {% Blog "https://auth0.com/blog/hashing-in-action-understanding-bcrypt/", "Understanding bcrypt" %}
- {% Blog "https://www.youtube.com/watch?v=O6cmuiTBZVs", "bcrypt explained" %}
-{% endresources %}
+Free Content
+bcrypt's npm package
+Understanding bcrypt
+bcrypt explained
diff --git a/src/roadmaps/backend/content/111-web-security-knowledge/104-scrypt.md b/src/roadmaps/backend/content/111-web-security-knowledge/104-scrypt.md
index 79d85c451..35674b4cf 100644
--- a/src/roadmaps/backend/content/111-web-security-knowledge/104-scrypt.md
+++ b/src/roadmaps/backend/content/111-web-security-knowledge/104-scrypt.md
@@ -2,6 +2,5 @@
Scrypt (pronounced "ess crypt") is a password hashing function (like bcrypt). It is designed to use a lot of hardware, which makes brute-force attacks more difficult. Scrypt is mainly used as a proof-of-work algorithm for cryptocurrencies.
-{% resources %}
- {% Blog "https://en.wikipedia.org/wiki/Scrypt", "Wikipedia - Scrypt" %}
-{% endresources %}
+Free Content
+Wikipedia - Scrypt
diff --git a/src/roadmaps/backend/content/111-web-security-knowledge/105-content-security-policy.md b/src/roadmaps/backend/content/111-web-security-knowledge/105-content-security-policy.md
index 478ec2a8f..3e536d4ec 100644
--- a/src/roadmaps/backend/content/111-web-security-knowledge/105-content-security-policy.md
+++ b/src/roadmaps/backend/content/111-web-security-knowledge/105-content-security-policy.md
@@ -2,7 +2,6 @@
Content Security Policy is a computer security standard introduced to prevent cross-site scripting, clickjacking and other code injection attacks resulting from execution of malicious content in the trusted web page context.
-{% resources %}
- {% Blog "https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP", "MDN — Content Security Policy (CSP)" %}
- {% Blog "https://developers.google.com/web/fundamentals/security/csp", "Google Devs — Content Security Policy (CSP)" %}
-{% endresources %}
+Free Content
+MDN — Content Security Policy (CSP)
+Google Devs — Content Security Policy (CSP)
diff --git a/src/roadmaps/backend/content/111-web-security-knowledge/105-https.md b/src/roadmaps/backend/content/111-web-security-knowledge/105-https.md
index 6ccb9f0b3..3a4d92d2e 100644
--- a/src/roadmaps/backend/content/111-web-security-knowledge/105-https.md
+++ b/src/roadmaps/backend/content/111-web-security-knowledge/105-https.md
@@ -2,11 +2,10 @@
HTTPS is a secure way to send data between a web server and a browser.
-{% resources %}
- {% Blog "https://www.cloudflare.com/en-gb/learning/ssl/what-is-https/", "What is HTTPS?" %}
- {% Blog "https://developers.google.com/web/fundamentals/security/encrypt-in-transit/why-https", "Why HTTPS Matters" %}
- {% Blog "https://developers.google.com/web/fundamentals/security/encrypt-in-transit/enable-https", "Enabling HTTPS on Your Servers" %}
- {% Blog "https://howhttps.works/", "How HTTPS works (comic)" %}
- {% Blog "https://www.youtube.com/watch?v=hExRDVZHhig", "SSL, TLS, HTTP, HTTPS Explained" %}
- {% Blog "https://www.youtube.com/watch?v=GoXgl9r0Kjk", "HTTPS — Stories from the field" %}
-{% endresources %}
+Free Content
+What is HTTPS?
+Why HTTPS Matters
+Enabling HTTPS on Your Servers
+How HTTPS works (comic)
+SSL, TLS, HTTP, HTTPS Explained
+HTTPS — Stories from the field
diff --git a/src/roadmaps/backend/content/111-web-security-knowledge/106-cors.md b/src/roadmaps/backend/content/111-web-security-knowledge/106-cors.md
index cdd089f2e..1079e74cb 100644
--- a/src/roadmaps/backend/content/111-web-security-knowledge/106-cors.md
+++ b/src/roadmaps/backend/content/111-web-security-knowledge/106-cors.md
@@ -1,8 +1,7 @@
# Cors
Cross-Origin Resource Sharing (CORS) is an HTTP-header based mechanism that allows a server to indicate any origins (domain, scheme, or port) other than its own from which a browser should permit loading resources.
-{% resources %}
- {% Blog "https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS", "Cross-Origin Resource Sharing (CORS)" %}
- {% Blog "https://www.youtube.com/watch?v=4KHiSt0oLJ0", "CORS in 100 Seconds" %}
- {% Blog "https://www.youtube.com/watch?v=PNtFSVU-YTI", "CORS in 6 minutes" %}
-{% endresources %}
+Free Content
+Cross-Origin Resource Sharing (CORS)
+CORS in 100 Seconds
+CORS in 6 minutes
diff --git a/src/roadmaps/backend/content/111-web-security-knowledge/106-server-security.md b/src/roadmaps/backend/content/111-web-security-knowledge/106-server-security.md
new file mode 100644
index 000000000..d8de494dc
--- /dev/null
+++ b/src/roadmaps/backend/content/111-web-security-knowledge/106-server-security.md
@@ -0,0 +1,13 @@
+# Server Security
+
+Learn about the security of your server and how to secure it. Here are some of the topics off the top of my head:
+
+* Use a firewall: One of the most effective ways to secure a server is to use a firewall to block all unnecessary incoming traffic. You can use iptables on Linux systems or a hardware firewall to do this.
+* Close unnecessary ports: Make sure to close any ports that are not needed for your server to function properly. This will reduce the attack surface of your server and make it more difficult for attackers to gain access.
+* Use strong passwords: Use long, complex passwords for all of your accounts, and consider using a password manager to store them securely.
+* Keep your system up to date: Make sure to keep your operating system and software up to date with the latest security patches. This will help to prevent vulnerabilities from being exploited by attackers.
+* Use SSL/TLS for communication: Use Secure Sockets Layer (SSL) or Transport Layer Security (TLS) to encrypt communication between your server and client devices. This will help to protect against man-in-the-middle attacks and other types of cyber threats.
+* Use a intrusion detection system (IDS): An IDS monitors network traffic and alerts you to any suspicious activity, which can help you to identify and respond to potential threats in a timely manner.
+* Enable two-factor authentication: Two-factor authentication adds an extra layer of security to your accounts by requiring a second form of authentication, such as a code sent to your phone, in addition to your password.
+
+Also learn about OpenSSL and creating your own PKI as well as managing certs, renewals, and mutual client auth with x509 certs
diff --git a/src/roadmaps/backend/content/111-web-security-knowledge/107-ssl-tls.md b/src/roadmaps/backend/content/111-web-security-knowledge/107-ssl-tls.md
index afffb4388..d80f1f6e5 100644
--- a/src/roadmaps/backend/content/111-web-security-knowledge/107-ssl-tls.md
+++ b/src/roadmaps/backend/content/111-web-security-knowledge/107-ssl-tls.md
@@ -2,7 +2,6 @@
Secure Sockets Layer (SSL) and Transport Layer Security (TLS) are cryptographic protocols used to provide security in internet communications. These protocols encrypt the data that is transmitted over the web, so anyone who tries to intercept packets will not be able to interpret the data. One difference that is important to know is that SSL is now deprecated due to security flaws, and most modern web browsers no longer support it. But TLS is still secure and widely supported, so preferably use TLS.
-{% resources %}
- {% Blog "https://en.wikipedia.org/wiki/Transport_Layer_Security", "Wikipedia - SSL/TLS" %}
- {% Blog "https://www.cloudflare.com/learning/ssl/what-is-ssl/", "Cloudflare - What is SSL?" %}
-{% endresources %}
+Free Content
+Wikipedia - SSL/TLS
+Cloudflare - What is SSL?
diff --git a/src/roadmaps/backend/content/111-web-security-knowledge/108-owasp.md b/src/roadmaps/backend/content/111-web-security-knowledge/108-owasp.md
index 8b08120d0..b06e57dda 100644
--- a/src/roadmaps/backend/content/111-web-security-knowledge/108-owasp.md
+++ b/src/roadmaps/backend/content/111-web-security-knowledge/108-owasp.md
@@ -2,9 +2,8 @@
OWASP or Open Web Application Security Project is an online community that produces freely-available articles, methodologies, documentation, tools, and technologies in the field of web application security.
-{% resources %}
- {% Blog "https://en.wikipedia.org/wiki/OWASP", "Wikipedia - OWASP" %}
- {% Blog "https://github.com/OWASP/ASVS", "OWASP Application Security Verification Standard" %}
- {% Blog "https://cheatsheetseries.owasp.org/IndexTopTen.html", "OWASP Top 10 Security Risks" %}
- {% Blog "https://cheatsheetseries.owasp.org/cheatsheets/AJAX_Security_Cheat_Sheet.html", "OWASP Cheatsheets" %}
-{% endresources %}
+Free Content
+Wikipedia - OWASP
+OWASP Application Security Verification Standard
+OWASP Top 10 Security Risks
+OWASP Cheatsheets
diff --git a/src/roadmaps/backend/content/111-web-security-knowledge/index.md b/src/roadmaps/backend/content/111-web-security-knowledge/index.md
deleted file mode 100644
index 257aa6150..000000000
--- a/src/roadmaps/backend/content/111-web-security-knowledge/index.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# Web Security Knowledge
-
-Web security refers to the protective measures taken by the developers to protect the web applications from threats that could affect the business.
-
-{% resources %}
- {% Blog "https://developers.google.com/web/fundamentals/security/encrypt-in-transit/why-https", "Why HTTPS Matters" %}
- {% Blog "https://en.wikipedia.org/wiki/OWASP", "Wikipedia - OWASP" %}
- {% Blog "https://github.com/0xRadi/OWASP-Web-Checklist", "OWASP Web Application Security Testing Checklist" %}
- {% Blog "https://sucuri.net/guides/owasp-top-10-security-vulnerabilities-2021/", "OWASP Top 10 Security Risks" %}
- {% Blog "https://cheatsheetseries.owasp.org/cheatsheets/AJAX_Security_Cheat_Sheet.html", "OWASP Cheatsheets" %}
- {% Blog "https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP", "Content Security Policy (CSP)" %}
-{% endresources %}
diff --git a/src/roadmaps/backend/content/111-web-security-knowledge/readme.md b/src/roadmaps/backend/content/111-web-security-knowledge/readme.md
new file mode 100644
index 000000000..bee608013
--- /dev/null
+++ b/src/roadmaps/backend/content/111-web-security-knowledge/readme.md
@@ -0,0 +1,11 @@
+# Web Security Knowledge
+
+Web security refers to the protective measures taken by the developers to protect the web applications from threats that could affect the business.
+
+Free Content
+Why HTTPS Matters
+Wikipedia - OWASP
+OWASP Web Application Security Testing Checklist
+OWASP Top 10 Security Risks
+OWASP Cheatsheets
+Content Security Policy (CSP)
diff --git a/src/roadmaps/backend/content/112-testing/100-integration-testing.md b/src/roadmaps/backend/content/112-testing/100-integration-testing.md
index c894bc372..292b022ae 100644
--- a/src/roadmaps/backend/content/112-testing/100-integration-testing.md
+++ b/src/roadmaps/backend/content/112-testing/100-integration-testing.md
@@ -2,8 +2,7 @@
Integration testing is a broad category of tests where multiple software modules are __integrated__ and tested as a group. It is meant to test the __interaction__ between multiple services, resources, or modules. For example, an API's interaction with a backend service, or a service with a database.
-{% resources %}
- {% Blog "https://www.guru99.com/integration-testing.html", "Integration Testing" %}
- {% Blog "https://thenewstack.io/how-to-integrate-and-test-your-tech-stack/", "How to Integrate and Test Your Tech Stack" %}
- {% Blog "https://youtu.be/QYCaaNz8emY", "What is Integration Testing?" %}
-{% endresources %}
+Free Content
+Integration Testing
+How to Integrate and Test Your Tech Stack
+What is Integration Testing?
diff --git a/src/roadmaps/backend/content/112-testing/101-unit-testing.md b/src/roadmaps/backend/content/112-testing/101-unit-testing.md
index 7b7c60f85..c2bd3c9da 100644
--- a/src/roadmaps/backend/content/112-testing/101-unit-testing.md
+++ b/src/roadmaps/backend/content/112-testing/101-unit-testing.md
@@ -2,7 +2,6 @@
Unit testing is where individual __units__ (modules, functions/methods, routines, etc.) of software are tested to ensure their correctness. This low-level testing ensures smaller components are functionally sound while taking the burden off of higher-level tests. Generally, a developer writes these tests during the development process and they are run as automated tests.
-{% resources %}
- {% Blog "https://www.guru99.com/unit-testing-guide.html", "Unit Testing Tutorial" %}
- {% Blog "https://youtu.be/3kzHmaeozDI", "What is Unit Testing?" %}
-{% endresources %}
+Free Content
+Unit Testing Tutorial
+What is Unit Testing?
diff --git a/src/roadmaps/backend/content/112-testing/102-functional-testing.md b/src/roadmaps/backend/content/112-testing/102-functional-testing.md
index dbb655140..0b20907a2 100644
--- a/src/roadmaps/backend/content/112-testing/102-functional-testing.md
+++ b/src/roadmaps/backend/content/112-testing/102-functional-testing.md
@@ -3,7 +3,6 @@
Functional testing is where software is tested to ensure functional requirements are met. Usually, it is a form of black box testing in which the tester has no understanding of the source code; testing is performed by providing input and comparing expected/actual output.
It contrasts with non-functional testing, which includes performance, load, scalability, and penetration testing.
-{% resources %}
- {% Blog "https://www.guru99.com/functional-testing.html", "What is Functional Testing?" %}
- {% Blog "https://youtu.be/j_79AXkG4PY", "Functional Testing vs Non-Functional Testing" %}
-{% endresources %}
+Free Content
+What is Functional Testing?
+Functional Testing vs Non-Functional Testing
diff --git a/src/roadmaps/backend/content/112-testing/index.md b/src/roadmaps/backend/content/112-testing/index.md
deleted file mode 100644
index 5eaf2bfb6..000000000
--- a/src/roadmaps/backend/content/112-testing/index.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Testing
-
-A key to building software that meets requirements without defects is testing. Software testing helps developers know they are building the right software. When tests are run as part of the development process (often with continuous integration tools), they build confidence and prevent regressions in the code.
-
-{% resources %}
- {% Blog "https://www.guru99.com/software-testing-introduction-importance.html", "What is Software Testing?" %}
- {% Blog "https://www.browserstack.com/guide/testing-pyramid-for-test-automation", "Testing Pyramid" %}
-{% endresources %}
diff --git a/src/roadmaps/backend/content/112-testing/readme.md b/src/roadmaps/backend/content/112-testing/readme.md
new file mode 100644
index 000000000..1a310f6c0
--- /dev/null
+++ b/src/roadmaps/backend/content/112-testing/readme.md
@@ -0,0 +1,7 @@
+# Testing
+
+A key to building software that meets requirements without defects is testing. Software testing helps developers know they are building the right software. When tests are run as part of the development process (often with continuous integration tools), they build confidence and prevent regressions in the code.
+
+Free Content
+What is Software Testing?
+Testing Pyramid
diff --git a/src/roadmaps/backend/content/113-ci-cd.md b/src/roadmaps/backend/content/113-ci-cd.md
index 83a0436b4..22ca4222e 100644
--- a/src/roadmaps/backend/content/113-ci-cd.md
+++ b/src/roadmaps/backend/content/113-ci-cd.md
@@ -2,11 +2,10 @@
CI/CD (Continuous Integration/Continuous Deployment) is the practice of automating building, testing, and deployment of applications with the main goal of detecting issues early, and provide quicker releases to the production environment.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=scEDHsr3APg", "DevOps CI/CD Explained in 100 Seconds by Fireship" %}
- {% Blog "https://www.youtube.com/watch?v=nyKZTKQS_EQ", "Automate your Workflows with GitHub Actions" %}
- {% Blog "https://about.gitlab.com/topics/ci-cd/", "What is CI/CD?" %}
- {% Blog "https://thenewstack.io/a-primer-continuous-integration-and-continuous-delivery-ci-cd/", "A Primer: Continuous Integration and Continuous Delivery (CI/CD)" %}
- {% Blog "https://thenewstack.io/3-ways-to-use-automation-in-ci-cd-pipelines/", "3 Ways to Use Automation in CI/CD Pipelines" %}
- {% Blog "https://thenewstack.io/category/ci-cd/", "Articles about CI/CD" %}
-{% endresources %}
+Free Content
+DevOps CI/CD Explained in 100 Seconds by Fireship
+Automate your Workflows with GitHub Actions
+What is CI/CD?
+A Primer: Continuous Integration and Continuous Delivery (CI/CD)
+3 Ways to Use Automation in CI/CD Pipelines
+Articles about CI/CD
diff --git a/src/roadmaps/backend/content/114-design-and-development-principles/100-gof-design-patterns.md b/src/roadmaps/backend/content/114-design-and-development-principles/100-gof-design-patterns.md
index 0185b3e25..b73a4a471 100644
--- a/src/roadmaps/backend/content/114-design-and-development-principles/100-gof-design-patterns.md
+++ b/src/roadmaps/backend/content/114-design-and-development-principles/100-gof-design-patterns.md
@@ -6,8 +6,7 @@ Design patterns are typical solutions to commonly occurring problems in software
- Structural Patterns to provide relationship between objects
- Behavioral Patterns to help define how objects interact
-{% resources %}
- {% Blog "https://github.com/kamranahmedse/design-patterns-for-humans", "Design Patterns for Humans" %}
- {% Blog "https://springframework.guru/gang-of-four-design-patterns/", "GOF design patterns" %}
- {% Blog "https://refactoring.guru/design-patterns", "Design Patterns" %}
-{% endresources %}
+Free Content
+Design Patterns for Humans
+GOF design patterns
+Design Patterns
diff --git a/src/roadmaps/backend/content/114-design-and-development-principles/101-domain-driven-design.md b/src/roadmaps/backend/content/114-design-and-development-principles/101-domain-driven-design.md
index 4f440f434..cd1c08f0d 100644
--- a/src/roadmaps/backend/content/114-design-and-development-principles/101-domain-driven-design.md
+++ b/src/roadmaps/backend/content/114-design-and-development-principles/101-domain-driven-design.md
@@ -10,6 +10,6 @@ DDD connects the implementation to an evolving model and it is predicated on the
- Basing complex designs on a model of the domain;
- Initiating a creative collaboration between technical and domain experts to iteratively refine a conceptual model that addresses particular domain problems.
-{% resources %}
- {% Official "https://matfrs2.github.io/RS2/predavanja/literatura/Avram%20A,%20Marinescu%20F.%20-%20Domain%20Driven%20Design%20Quickly.pdf", "Domain Driven Design Quickly" %}
-{% endresources %}
+Free Content
+
+Domain Driven Design Quickly
diff --git a/src/roadmaps/backend/content/114-design-and-development-principles/102-test-driven-development.md b/src/roadmaps/backend/content/114-design-and-development-principles/102-test-driven-development.md
index d377f8f2e..dd0e772fe 100644
--- a/src/roadmaps/backend/content/114-design-and-development-principles/102-test-driven-development.md
+++ b/src/roadmaps/backend/content/114-design-and-development-principles/102-test-driven-development.md
@@ -2,8 +2,7 @@
Test driven development (TDD) is the process of writing tests for software's requirements which will fail until the software is developed to meet those requirements. Once those tests pass, then the cycle repeats to refactor code or develop another feature/requirement. In theory, this ensures that software is written to meet requirements in the simplest form, and avoids code defects.
-{% resources %}
- {% Blog "https://www.guru99.com/test-driven-development.html", "What is Test Driven Development (TDD)?" %}
- {% Blog "https://www.ibm.com/garage/method/practices/code/practice_test_driven_development/", "Test-driven development" %}
- {% Blog "https://youtu.be/uGaNkTahrIw", "Agile in Practice: Test Driven Development" %}
-{% endresources %}
+Free Content
+What is Test Driven Development (TDD)?
+Test-driven development
+Agile in Practice: Test Driven Development
diff --git a/src/roadmaps/backend/content/115-architectural-patterns/103-cqrs.md b/src/roadmaps/backend/content/114-design-and-development-principles/103-cqrs.md
similarity index 63%
rename from src/roadmaps/backend/content/115-architectural-patterns/103-cqrs.md
rename to src/roadmaps/backend/content/114-design-and-development-principles/103-cqrs.md
index 44b9de4d4..645eafe67 100644
--- a/src/roadmaps/backend/content/115-architectural-patterns/103-cqrs.md
+++ b/src/roadmaps/backend/content/114-design-and-development-principles/103-cqrs.md
@@ -1,7 +1,6 @@
-# CQRS and Event Sourcing
+# CQRS
CQRS, or command query responsibility segregation, defines an architectural pattern where the main focus is to separate the approach of reading and writing operations for a data store. CQRS can also be used along with Event Sourcing pattern in order to persist application state as an ordered of sequence events, making it possible to restore data to any point in time.
-{% resources %}
- {% Official "https://docs.microsoft.com/en-us/azure/architecture/patterns/cqrs", "CQRS Pattern" %}
-{% endresources %}
+Free Content
+CQRS Pattern
diff --git a/src/roadmaps/backend/content/114-design-and-development-principles/103-solid.md b/src/roadmaps/backend/content/114-design-and-development-principles/103-solid.md
deleted file mode 100644
index 68a6aaea1..000000000
--- a/src/roadmaps/backend/content/114-design-and-development-principles/103-solid.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# SOLID
-
-SOLID is a set of principles applied to object-oriented design (OOD) to create maintainable, understandable, and flexible code, while avoiding code smells and defects. The principles are:
-
-- Single Responsibility
-- Open/Closed
-- Liskov Substitution
-- Interface Segregation
-- Dependency Inversion
-
-{% resources %}
- {% Blog "https://www.baeldung.com/solid-principles", "SOLID Principles" %}
- {% Blog "https://www.digitalocean.com/community/conceptual_articles/s-o-l-i-d-the-first-five-principles-of-object-oriented-design", "SOLID: The First 5 Principles of Object Oriented Design" %}
-{% endresources %}
diff --git a/src/roadmaps/backend/content/114-design-and-development-principles/104-event-sourcing.md b/src/roadmaps/backend/content/114-design-and-development-principles/104-event-sourcing.md
new file mode 100644
index 000000000..4953836b6
--- /dev/null
+++ b/src/roadmaps/backend/content/114-design-and-development-principles/104-event-sourcing.md
@@ -0,0 +1,10 @@
+# Event Sourcing
+
+Event sourcing is a design pattern in which the state of a system is represented as a sequence of events that have occurred over time. In an event-sourced system, changes to the state of the system are recorded as events and stored in an event store. The current state of the system is derived by replaying the events from the event store.
+
+One of the main benefits of event sourcing is that it provides a clear and auditable history of all the changes that have occurred in the system. This can be useful for debugging and for tracking the evolution of the system over time.
+
+Event sourcing is often used in conjunction with other patterns, such as Command Query Responsibility Segregation (CQRS) and domain-driven design, to build scalable and responsive systems with complex business logic. It is also useful for building systems that need to support undo/redo functionality or that need to integrate with external systems.
+
+Free Content
+Event Sourcing - Martin Fowler
diff --git a/src/roadmaps/backend/content/114-design-and-development-principles/104-kiss.md b/src/roadmaps/backend/content/114-design-and-development-principles/104-kiss.md
deleted file mode 100644
index d0ecfd643..000000000
--- a/src/roadmaps/backend/content/114-design-and-development-principles/104-kiss.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# KISS
-
-Keep It Simple, Stupid (KISS) is a software design principle that states avoiding needless complexity is the best way to build software that is easier to maintain, understand, and contains fewer defects. A simple product that does a single thing well is better than a complex product that does many things poorly.
-
-{% resources %}
- {% Blog "https://deviq.com/principles/keep-it-simple", "Keep It Simple" %}
- {% Blog "https://www.interaction-design.org/literature/topics/keep-it-simple-stupid", "Keep It Simple, Stupid (Kiss)" %}
-{% endresources %}
diff --git a/src/roadmaps/backend/content/114-design-and-development-principles/105-yagni.md b/src/roadmaps/backend/content/114-design-and-development-principles/105-yagni.md
deleted file mode 100644
index 14e885f87..000000000
--- a/src/roadmaps/backend/content/114-design-and-development-principles/105-yagni.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# YAGNI
-
-You Aren't Going to Need It (YAGNI) is a software design principle from the Extreme Programming (XP) framework that states when developing software, functionality or features should not be added until they are necessary. Within agile software development in general, requirements are always open to change; any extra functionality may end up being wasted time and resources.
-
-{% resources %}
- {% Blog "https://martinfowler.com/bliki/Yagni.html", "Yagni" %}
- {% Blog "https://deviq.com/principles/yagni", "YAGNI" %}
-{% endresources %}
diff --git a/src/roadmaps/backend/content/114-design-and-development-principles/106-dry.md b/src/roadmaps/backend/content/114-design-and-development-principles/106-dry.md
deleted file mode 100644
index eb92b9712..000000000
--- a/src/roadmaps/backend/content/114-design-and-development-principles/106-dry.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# DRY
-
-Don't Repeat Yourself (DRY) is a software design principle which encourages developers to not repeat software patterns or code. DRY encourages code reusability, often in the form of methods, functions, or subroutines. When DRY is implemented successfully, developers are able to make one change to update many related elements while avoiding making changes to unrelated elements.
-
-{% resources %}
- {% Blog "https://dzone.com/articles/software-design-principles-dry-and-kiss", "Software Design Principles DRY and KISS" %}
- {% Blog "https://journals.plos.org/plosbiology/article?id=10.1371/journal.pbio.1001745#s5", "Best Practices for Scientific Computing" %}
-{% endresources %}
diff --git a/src/roadmaps/backend/content/114-design-and-development-principles/index.md b/src/roadmaps/backend/content/114-design-and-development-principles/readme.md
similarity index 100%
rename from src/roadmaps/backend/content/114-design-and-development-principles/index.md
rename to src/roadmaps/backend/content/114-design-and-development-principles/readme.md
diff --git a/src/roadmaps/backend/content/115-architectural-patterns/100-monolithic-apps.md b/src/roadmaps/backend/content/115-architectural-patterns/100-monolithic-apps.md
index 7aec80983..ba0dab670 100644
--- a/src/roadmaps/backend/content/115-architectural-patterns/100-monolithic-apps.md
+++ b/src/roadmaps/backend/content/115-architectural-patterns/100-monolithic-apps.md
@@ -2,7 +2,6 @@
Monolithic architecture is a pattern in which an application handles requests, executes business logic, interacts with the database, and creates the HTML for the front end. In simpler terms, this one application does many things. It's inner components are highly coupled and deployed as one unit.
-{% resources %}
- {% Blog "https://microservices.io/patterns/monolithic.html", "Pattern: Monolithic Architecture" %}
- {% Blog "https://datamify.medium.com/monolithic-architecture-advantages-and-disadvantages-e71a603eec89", "Monolithic Architecture - Advantages & Disadvantages" %}
-{% endresources %}
+Free Content
+Pattern: Monolithic Architecture
+Monolithic Architecture - Advantages & Disadvantages
diff --git a/src/roadmaps/backend/content/115-architectural-patterns/101-microservices.md b/src/roadmaps/backend/content/115-architectural-patterns/101-microservices.md
index ac23f6baf..e6752515d 100644
--- a/src/roadmaps/backend/content/115-architectural-patterns/101-microservices.md
+++ b/src/roadmaps/backend/content/115-architectural-patterns/101-microservices.md
@@ -2,10 +2,9 @@
Microservice architecture is a pattern in which highly cohesive, loosely coupled services are separately developed, maintained, and deployed. Each component handles an individual function, and when combined, the application handles an overall business function.
-{% resources %}
- {% Blog "https://microservices.io/patterns/microservices.html", "Pattern: Microservice Architecture" %}
- {% Blog "https://smartbear.com/solutions/microservices/", "What is Microservices?" %}
- {% Blog "https://thenewstack.io/microservices-101/", "Microservices 101" %}
- {% Blog "https://thenewstack.io/primer-microservices-explained/", "Primer: Microservices Explained" %}
- {% Blog "https://thenewstack.io/category/microservices/", "Articles about Microservices" %}
-{% endresources %}
+Free Content
+Pattern: Microservice Architecture
+What is Microservices?
+Microservices 101
+Primer: Microservices Explained
+Articles about Microservices
diff --git a/src/roadmaps/backend/content/115-architectural-patterns/102-soa.md b/src/roadmaps/backend/content/115-architectural-patterns/102-soa.md
index d82c43ee5..a3edddaae 100644
--- a/src/roadmaps/backend/content/115-architectural-patterns/102-soa.md
+++ b/src/roadmaps/backend/content/115-architectural-patterns/102-soa.md
@@ -2,6 +2,5 @@
SOA, or service-oriented architecture, defines a way to make software components reusable via service interfaces. These interfaces utilize common communication standards in such a way that they can be rapidly incorporated into new applications without having to perform deep integration each time.
-{% resources %}
- {% Official "http://docs.oasis-open.org/soa-rm/soa-ra/v1.0/soa-ra.html", "Reference Architecture Foundation for Service Oriented Architecture" %}
-{% endresources %}
+Free Content
+Reference Architecture Foundation for Service Oriented Architecture
diff --git a/src/roadmaps/backend/content/115-architectural-patterns/104-serverless.md b/src/roadmaps/backend/content/115-architectural-patterns/104-serverless.md
index 86e3e06a7..65f49a4e9 100644
--- a/src/roadmaps/backend/content/115-architectural-patterns/104-serverless.md
+++ b/src/roadmaps/backend/content/115-architectural-patterns/104-serverless.md
@@ -2,8 +2,7 @@
Serverless is an architecture in which a developer builds and runs applications without provisioning or managing servers. With cloud computing/serverless, servers exist but are managed by the cloud provider. Resources are used as they are needed, on demand and often using auto scaling.
-{% resources %}
- {% Blog "https://www.ibm.com/cloud/learn/serverless", "Serverless" %}
- {% Blog "https://aws.amazon.com/serverless/", "AWS Services" %}
- {% Blog "https://www.youtube.com/watch?v=W_VV2Fx32_Y&ab_channel=Fireship", "Serverless Computing in 100 Seconds" %}
-{% endresources %}
+Free Content
+Serverless
+AWS Services
+Serverless Computing in 100 Seconds
diff --git a/src/roadmaps/backend/content/115-architectural-patterns/105-service-mesh.md b/src/roadmaps/backend/content/115-architectural-patterns/105-service-mesh.md
new file mode 100644
index 000000000..e4f88d3a9
--- /dev/null
+++ b/src/roadmaps/backend/content/115-architectural-patterns/105-service-mesh.md
@@ -0,0 +1,13 @@
+# Service Mesh
+
+A service mesh is a network of microservices that are connected using a mesh of interconnected, intelligent proxies. It is used to manage and secure communication between microservices, and it provides features such as load balancing, service discovery, and observability.
+
+In a service mesh, each microservice is typically represented by an instance of a lightweight, transparent proxy called an "envoy." The envoys handle the communication between microservices and provide features such as load balancing, routing, and security.
+
+Service meshes are typically implemented using a sidecar pattern, in which the envoys are deployed alongside the microservices they are responsible for. This allows the service mesh to be decoupled from the microservices and makes it easier to manage and update.
+
+Service meshes are commonly used in cloud-native architectures and are often managed using a control plane, which is responsible for configuring and managing the envoys. Some popular service mesh implementations include Istio and Linkerd.
+
+Free Content
+What is a Service Mesh?
+Service Mesh Explained - Cloud Native Computing Foundation (CNCF)
diff --git a/src/roadmaps/backend/content/115-architectural-patterns/106-twelve-factor-apps.md b/src/roadmaps/backend/content/115-architectural-patterns/106-twelve-factor-apps.md
new file mode 100644
index 000000000..880149dfc
--- /dev/null
+++ b/src/roadmaps/backend/content/115-architectural-patterns/106-twelve-factor-apps.md
@@ -0,0 +1,23 @@
+# Twelve-Factor Apps
+
+The Twelve-Factor App is a methodology for building scalable and maintainable software-as-a-service (SaaS) applications. It is based on a set of best practices that were identified by the authors of the methodology as being essential for building modern, cloud-native applications.
+
+The Twelve-Factor App methodology consists of the following principles:
+
+* Codebase: There should be a single codebase for the application, with multiple deployments.
+* Dependencies: The application should explicitly declare and isolate its dependencies.
+* Config: The application should store configuration in the environment.
+* Backing services: The application should treat backing services as attached resources.
+* Build, release, run: The application should be built, released, and run as an isolated unit.
+* Processes: The application should be executed as one or more stateless processes.
+* Port binding: The application should expose its services through port binding.
+* Concurrency: The application should scale out by adding more processes, not by adding threads.
+* Disposability: The application should be designed to start and stop quickly.
+* Dev/prod parity: The development, staging, and production environments should be as similar as possible.
+* Logs: The application should treat logs as event streams.
+* Admin processes: The application should run admin/maintenance tasks as one-off processes.
+
+The Twelve-Factor App methodology is widely adopted by developers of SaaS applications, and it is seen as a best practice for building cloud-native applications that are scalable, maintainable, and easy to deploy.
+
+Free Content
+The Twelve-Factor App
diff --git a/src/roadmaps/backend/content/115-architectural-patterns/index.md b/src/roadmaps/backend/content/115-architectural-patterns/readme.md
similarity index 56%
rename from src/roadmaps/backend/content/115-architectural-patterns/index.md
rename to src/roadmaps/backend/content/115-architectural-patterns/readme.md
index 288b1548a..7aefea86c 100644
--- a/src/roadmaps/backend/content/115-architectural-patterns/index.md
+++ b/src/roadmaps/backend/content/115-architectural-patterns/readme.md
@@ -2,6 +2,5 @@
An architectural pattern is a general, reusable solution to a commonly occurring problem in software architecture within a given context.The architectural patterns address various issues in software engineering, such as computer hardware performance limitations, high availability and minimization of a business risk.
-{% resources %}
- {% Blog "https://towardsdatascience.com/10-common-software-architectural-patterns-in-a-nutshell-a0b47a1e9013", "Architectural Patterns in a nutshell" %}
-{% endresources %}
+Reference Resource
+Architectural Patterns in a nutshell
diff --git a/src/roadmaps/backend/content/116-search-engines/100-elasticsearch.md b/src/roadmaps/backend/content/116-search-engines/100-elasticsearch.md
index 579721621..882db2bc2 100644
--- a/src/roadmaps/backend/content/116-search-engines/100-elasticsearch.md
+++ b/src/roadmaps/backend/content/116-search-engines/100-elasticsearch.md
@@ -2,9 +2,9 @@
Elastic search at its core is a document-oriented search engine. It is a document based database that lets you INSERT, DELETE , RETRIEVE and even perform analytics on the saved records. But, Elastic Search is unlike any other general purpose database you have worked with, in the past. It's essentially a search engine and offers an arsenal of features you can use to retrieve the data stored in it, as per your search criteria. And that too, at lightning speeds.
-{% resources %}
- {% Official "https://www.elastic.co/elasticsearch/", "Elasticsearch Website" %}
- {% Official "https://www.elastic.co/guide/index.html", "Elasticsearch Documentation" %}
-{% endresources %}
+Free Content
+
+Elasticsearch Website
+Elasticsearch Documentation
diff --git a/src/roadmaps/backend/content/116-search-engines/101-solr.md b/src/roadmaps/backend/content/116-search-engines/101-solr.md
index eb66a5f6d..b690b0d1b 100644
--- a/src/roadmaps/backend/content/116-search-engines/101-solr.md
+++ b/src/roadmaps/backend/content/116-search-engines/101-solr.md
@@ -2,7 +2,7 @@
Solr is highly reliable, scalable and fault tolerant, providing distributed indexing, replication and load-balanced querying, automated failover and recovery, centralized configuration and more. Solr powers the search and navigation features of many of the world's largest internet sites.
-{% resources %}
- {% Blog "https://solr.apache.org/", "Official Website" %}
- {% Blog "https://solr.apache.org/resources.html#documentation", "Official Documentation" %}
-{% endresources %}
+Free Content
+
+Official Website
+Official Documentation
diff --git a/src/roadmaps/backend/content/116-search-engines/index.md b/src/roadmaps/backend/content/116-search-engines/readme.md
similarity index 100%
rename from src/roadmaps/backend/content/116-search-engines/index.md
rename to src/roadmaps/backend/content/116-search-engines/readme.md
diff --git a/src/roadmaps/backend/content/117-message-brokers/100-rabbitmq.md b/src/roadmaps/backend/content/117-message-brokers/100-rabbitmq.md
index 699912c21..1603a8656 100644
--- a/src/roadmaps/backend/content/117-message-brokers/100-rabbitmq.md
+++ b/src/roadmaps/backend/content/117-message-brokers/100-rabbitmq.md
@@ -2,7 +2,6 @@
With tens of thousands of users, RabbitMQ is one of the most popular open-source message brokers. RabbitMQ is lightweight and easy to deploy on-premises and in the cloud. It supports multiple messaging protocols. RabbitMQ can be deployed in distributed and federated configurations to meet high-scale, high-availability requirements.
-{% resources %}
- {% Blog "https://www.rabbitmq.com/getstarted.html", "RabbitMQ Tutorials" %}
- {% Blog "https://www.youtube.com/watch?v=nFxjaVmFj5E", "RabbitMQ Tutorial - Message Queues and Distributed Systems" %}
-{% endresources %}
+Free Content
+RabbitMQ Tutorials
+RabbitMQ Tutorial - Message Queues and Distributed Systems
diff --git a/src/roadmaps/backend/content/117-message-brokers/101-kafka.md b/src/roadmaps/backend/content/117-message-brokers/101-kafka.md
index 77dd662b0..51634bf0d 100644
--- a/src/roadmaps/backend/content/117-message-brokers/101-kafka.md
+++ b/src/roadmaps/backend/content/117-message-brokers/101-kafka.md
@@ -2,7 +2,6 @@
Apache Kafka is an open-source distributed event streaming platform used by thousands of companies for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications.
-{% resources %}
- {% Blog "https://kafka.apache.org/quickstart", "Apache Kafka quickstart" %}
- {% Blog "https://www.youtube.com/watch?v=B5j3uNBH8X4", "Apache Kafka Fundamentals" %}
-{% endresources %}
+Free Content
+Apache Kafka quickstart
+Apache Kafka Fundamentals
diff --git a/src/roadmaps/backend/content/117-message-brokers/index.md b/src/roadmaps/backend/content/117-message-brokers/readme.md
similarity index 61%
rename from src/roadmaps/backend/content/117-message-brokers/index.md
rename to src/roadmaps/backend/content/117-message-brokers/readme.md
index c13c0ed10..397e61965 100644
--- a/src/roadmaps/backend/content/117-message-brokers/index.md
+++ b/src/roadmaps/backend/content/117-message-brokers/readme.md
@@ -2,6 +2,5 @@
Message brokers are an inter-application communication technology to help build a common integration mechanism to support cloud-native, microservices-based, serverless, and hybrid cloud architectures. Two of the most famous message brokers are `RabbitMQ` and `Apache Kafka`
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=57Qr9tk6Uxc", "Introduction to Message Brokers" %}
-{% endresources %}
+Free Content
+Introduction to Message Brokers
diff --git a/src/roadmaps/backend/content/118-containerization/100-docker.md b/src/roadmaps/backend/content/118-containerization/100-docker.md
index d369f5cea..b6d8875b8 100644
--- a/src/roadmaps/backend/content/118-containerization/100-docker.md
+++ b/src/roadmaps/backend/content/118-containerization/100-docker.md
@@ -2,9 +2,8 @@
Docker is a platform for working with containerized applications. Among its features are a daemon and client for managing and interacting with containers, registries for storing images, and a desktop application to package all these features together.
-{% resources %}
- {% Official "https://docs.docker.com/", "Docker Documentation" %}
- {% Blog "https://aws.amazon.com/docker/", "What is Docker | AWS " %}
- {% Blog "https://youtu.be/3c-iBn73dDE", "Docker Tutorial" %}
- {% Blog "https://youtu.be/vP_4DlOH1G4", "Docker simplified in 55 seconds" %}
-{% endresources %}
+Free Content
+Docker Documentation
+What is Docker | AWS
+Docker Tutorial
+Docker simplified in 55 seconds
diff --git a/src/roadmaps/backend/content/118-containerization/101-rkt.md b/src/roadmaps/backend/content/118-containerization/101-rkt.md
deleted file mode 100644
index 1a555fdb3..000000000
--- a/src/roadmaps/backend/content/118-containerization/101-rkt.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# RKT
-
-RKT(pronounced like a "rocket") is an application container engine developed for modern production cloud-native environments. It features a pod-native approach, a pluggable execution environment, and a well-defined surface area that makes it ideal for integration with other systems.
-
-
-RKT project was ended in 2018.
-
-{% resources %}
- {% Official "https://rocket.readthedocs.io/en/latest/Documentation/trying-out-rkt/", "RKT Documentation" %}
- {% Blog "https://www.redhat.com/en/topics/containers/what-is-rkt", "What is RKT?" %}
- {% Blog "https://github.com/rkt/rkt", "What is RKT?" %}
- {% Blog "https://youtu.be/JgUEXKTSVXw", "Introduction to RKT" %}
- {% Blog "https://youtu.be/mRlQC6s8IwM", "The RKT Container Runtime - Explanation & Demonstration" %}
-{% endresources %}
diff --git a/src/roadmaps/backend/content/118-containerization/102-lxc.md b/src/roadmaps/backend/content/118-containerization/102-lxc.md
index f2abe866a..81ec1925a 100644
--- a/src/roadmaps/backend/content/118-containerization/102-lxc.md
+++ b/src/roadmaps/backend/content/118-containerization/102-lxc.md
@@ -2,9 +2,8 @@
LXC is an abbreviation used for Linux Containers which is an operating system that is used for running multiple Linux systems virtually on a controlled host via a single Linux kernel. LXC is a userspace interface for the Linux kernel containment features. Through a powerful API and simple tools, it lets Linux users easily create and manage system or application containers.
-{% resources %}
- {% Official "https://linuxcontainers.org/lxc/documentation/", "LXC Documentation" %}
- {% Blog "https://linuxcontainers.org/lxc/introduction/", "What is LXC?" %}
- {% Blog "https://youtu.be/_KnmRdK69qM", "Linux Container (LXC) Introduction" %}
- {% Blog "https://youtu.be/CWmkSj_B-wo", "Getting started with LXC containers" %}
-{% endresources %}
+Free Content
+LXC Documentation
+What is LXC?
+Linux Container (LXC) Introduction
+Getting started with LXC containers
diff --git a/src/roadmaps/backend/content/118-containerization/103-kubernetes.md b/src/roadmaps/backend/content/118-containerization/103-kubernetes.md
new file mode 100644
index 000000000..e08de302d
--- /dev/null
+++ b/src/roadmaps/backend/content/118-containerization/103-kubernetes.md
@@ -0,0 +1,12 @@
+# Kubernetes
+
+Kubernetes is an [open source](https://github.com/kubernetes/kubernetes) container management platform, and the dominant product in this space. Using Kubernetes, teams can deploy images across multiple underlying hosts, defining their desired availability, deployment logic, and scaling logic in YAML. Kubernetes evolved from Borg, an internal Google platform used to provision and allocate compute resources. (similar to the Autopilot and Aquaman systems of Microsoft Azure)
+
+The popularity of Kubernetes has made it an increasingly important skill for the DevOps Engineer and has triggered the creation of Platform teams across the industry. These Platform engineering teams often exist with the sole purpose of making Kubernetes approachable and usable for their product development colleagues.
+
+Free Content
+Kubernetes Website
+Kubernetes Documentation
+Kubernetes Crash Course for Absolute Beginners
+Primer: How Kubernetes Came to Be, What It Is, and Why You Should Care
+Kubernetes: An Overview
diff --git a/src/roadmaps/backend/content/118-containerization/index.md b/src/roadmaps/backend/content/118-containerization/index.md
deleted file mode 100644
index b00de8cd4..000000000
--- a/src/roadmaps/backend/content/118-containerization/index.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Containerization vs. Virtualization
-
-Containers and virtual machines are the two most popular approaches to setting up a software infrastructure for your organization.
-
-{% resources %}
- {% Blog "https://middleware.io/blog/containerization-vs-virtualization/", "Containerization vs. Virtualization: Everything you need to know" %}
- {% Blog "https://www.youtube.com/watch?v=1WnDHitznGY", "Containerization or Virtualization - The Differences " %}
-{% endresources %}
diff --git a/src/roadmaps/backend/content/118-containerization/readme.md b/src/roadmaps/backend/content/118-containerization/readme.md
new file mode 100644
index 000000000..c2c3e6792
--- /dev/null
+++ b/src/roadmaps/backend/content/118-containerization/readme.md
@@ -0,0 +1,7 @@
+# Containerization vs. Virtualization
+
+Containers and virtual machines are the two most popular approaches to setting up a software infrastructure for your organization.
+
+Free Content
+Containerization vs. Virtualization: Everything you need to know
+Containerization or Virtualization - The Differences
diff --git a/src/roadmaps/backend/content/119-graphql/100-apollo.md b/src/roadmaps/backend/content/119-graphql/100-apollo.md
index 288bc754f..54ad410dd 100644
--- a/src/roadmaps/backend/content/119-graphql/100-apollo.md
+++ b/src/roadmaps/backend/content/119-graphql/100-apollo.md
@@ -2,9 +2,8 @@
Apollo is a platform for building a unified graph, a communication layer that helps you manage the flow of data between your application clients (such as web and native apps) and your back-end services.
-{% resources %}
- {% Official "https://www.apollographql.com", "Apollo Website" %}
- {% Blog "https://www.apollographql.com/docs/", "Official Docs" %}
- {% Blog "https://www.youtube.com/c/ApolloGraphQL/", "Official YouTube Channel" %}
- {% Blog "https://www.youtube.com/watch?v=YyUWW04HwKY", "GraphQL With React Tutorial - Apollo Client" %}
-{% endresources %}
+Free Content
+Apollo Website
+Official Docs
+Official YouTube Channel
+GraphQL With React Tutorial - Apollo Client
diff --git a/src/roadmaps/backend/content/119-graphql/101-relay-modern.md b/src/roadmaps/backend/content/119-graphql/101-relay-modern.md
index ca5d2ff63..55722ec2e 100644
--- a/src/roadmaps/backend/content/119-graphql/101-relay-modern.md
+++ b/src/roadmaps/backend/content/119-graphql/101-relay-modern.md
@@ -2,7 +2,6 @@
Relay is a JavaScript client used in the browser to fetch GraphQL data. It's a JavaScript framework developed by Facebook for managing and fetching data in React applications. It is built with scalability in mind in order to power complex applications like Facebook. The ultimate goal of GraphQL and Relay is to deliver instant UI-response interactions.
-{% resources %}
- {% Official "https://relay.dev/", "Official Website" %}
- {% Blog "https://relay.dev/docs/", "Introduction to Relay modern" %}
-{% endresources %}
+Free Content
+Official Website
+Introduction to Relay modern
diff --git a/src/roadmaps/backend/content/119-graphql/index.md b/src/roadmaps/backend/content/119-graphql/index.md
deleted file mode 100644
index 8ab2dd7be..000000000
--- a/src/roadmaps/backend/content/119-graphql/index.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# Graphql
-
-GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools.
-
-{% resources %}
- {% Blog "https://graphql.org/learn/", "Introduction to GraphQL" %}
- {% Blog "https://www.howtographql.com/", "The Fullstack Tutorial for GraphQL" %}
- {% Course "https://odyssey.apollographql.com/", "GraphQL Tutorials" %}
- {% Blog "https://www.youtube.com/watch?v=ed8SzALpx1Q", "GraphQL Course for Beginners" %}
-{% endresources %}
diff --git a/src/roadmaps/backend/content/119-graphql/readme.md b/src/roadmaps/backend/content/119-graphql/readme.md
new file mode 100644
index 000000000..d1722008b
--- /dev/null
+++ b/src/roadmaps/backend/content/119-graphql/readme.md
@@ -0,0 +1,9 @@
+# Graphql
+
+GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools.
+
+Free Content
+Introduction to GraphQL
+The Fullstack Tutorial for GraphQL
+GraphQL Tutorials
+GraphQL Course for Beginners
diff --git a/src/roadmaps/backend/content/120-graph-databases/100-neo4j.md b/src/roadmaps/backend/content/120-graph-databases/100-neo4j.md
index 4fb333979..deaad02a3 100644
--- a/src/roadmaps/backend/content/120-graph-databases/100-neo4j.md
+++ b/src/roadmaps/backend/content/120-graph-databases/100-neo4j.md
@@ -2,8 +2,7 @@
Neo4j AuraDB is a fast, reliable, scalable, and completely automated Neo4j graph database, provided as a cloud service.
-{% resources %}
- {% Official "https://neo4j.com/", "Official Website" %}
- {% Blog "https://neo4j.com/docs/", "Official Docs" %}
- {% Blog "https://www.youtube.com/watch?v=8jNPelugC2s", "Neo4j (Graph Database) Crash Course" %}
-{% endresources %}
+Free Content
+Official Website
+Official Docs
+Neo4j (Graph Database) Crash Course
diff --git a/src/roadmaps/backend/content/120-graph-databases/index.md b/src/roadmaps/backend/content/120-graph-databases/index.md
deleted file mode 100644
index 6d21f569a..000000000
--- a/src/roadmaps/backend/content/120-graph-databases/index.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Graph databases
-
-A graph database stores nodes and relationships instead of tables, or documents. Data is stored just like you might sketch ideas on a whiteboard. Your data is stored without restricting it to a pre-defined model, allowing a very flexible way of thinking about and using it.
-
-{% resources %}
- {% Blog "https://neo4j.com/developer/graph-database/", "What is a Graph Database?" %}
- {% Blog "https://www.freecodecamp.org/news/graph-database-vs-relational-database/", "Graph Databases VS Relational Databases" %}
-{% endresources %}
diff --git a/src/roadmaps/backend/content/120-graph-databases/readme.md b/src/roadmaps/backend/content/120-graph-databases/readme.md
new file mode 100644
index 000000000..bc13f5492
--- /dev/null
+++ b/src/roadmaps/backend/content/120-graph-databases/readme.md
@@ -0,0 +1,7 @@
+# Graph databases
+
+A graph database stores nodes and relationships instead of tables, or documents. Data is stored just like you might sketch ideas on a whiteboard. Your data is stored without restricting it to a pre-defined model, allowing a very flexible way of thinking about and using it.
+
+Free Content
+What is a Graph Database?
+Graph Databases VS Relational Databases
diff --git a/src/roadmaps/backend/content/121-web-sockets.md b/src/roadmaps/backend/content/121-web-sockets.md
index 4289fc0df..6a8f0d1db 100644
--- a/src/roadmaps/backend/content/121-web-sockets.md
+++ b/src/roadmaps/backend/content/121-web-sockets.md
@@ -2,8 +2,7 @@
Web sockets are defined as a two-way communication between the servers and the clients, which mean both the parties, communicate and exchange data at the same time. This protocol defines a full duplex communication from the ground up. Web sockets take a step forward in bringing desktop rich functionalities to the web browsers.
-{% resources %}
- {% Blog "https://www.tutorialspoint.com/websockets/index.htm", "Introduction to WebSockets" %}
- {% Course "https://www.youtube.com/watch?v=8ARodQ4Wlf4", "A Beginners Guide to WebSockets" %}
- {% Blog "https://socket.io/", "Socket.io Library Bidirectional and low-latency communication for every platform" %}
-{% endresources %}
+Free Content
+Introduction to WebSockets
+A Beginner's Guide to WebSockets
+Socket.io Library Bidirectional and low-latency communication for every platform
diff --git a/src/roadmaps/backend/content/122-server-sent-events.md b/src/roadmaps/backend/content/122-server-sent-events.md
new file mode 100644
index 000000000..512625dfa
--- /dev/null
+++ b/src/roadmaps/backend/content/122-server-sent-events.md
@@ -0,0 +1,10 @@
+# Server Sent Events
+
+Server-Sent Events (SSE) is a technology that allows a web server to push data to a client in real-time. It uses an HTTP connection to send a stream of data from the server to the client, and the client can listen for these events and take action when they are received.
+
+SSE is useful for applications that require real-time updates, such as chat systems, stock tickers, and social media feeds. It is a simple and efficient way to establish a long-lived connection between a client and a server, and it is supported by most modern web browsers.
+
+To use SSE, the client must create an EventSource object and specify the URL of the server-side script that will send the events. The server can then send events by writing them to the response stream with the proper formatting.
+
+Free Content
+Server-Sent Events - MDN
diff --git a/src/roadmaps/backend/content/122-web-servers/100-nginx.md b/src/roadmaps/backend/content/122-web-servers/100-nginx.md
index 3e27d0ab3..a99b98d97 100644
--- a/src/roadmaps/backend/content/122-web-servers/100-nginx.md
+++ b/src/roadmaps/backend/content/122-web-servers/100-nginx.md
@@ -2,7 +2,6 @@
NGINX is a powerful web server and uses a non-threaded, event-driven architecture that enables it to outperform Apache if configured correctly. It can also do other important things, such as load balancing, HTTP caching, or be used as a reverse proxy.
-{% resources %}
- {% Official "https://nginx.org/", "Official Website" %}
- {% Blog "https://www.youtube.com/watch?v=JKxlsvZXG7c", "NGINX Explained in 100 Seconds" %}
-{% endresources %}
+Free Content
+Official Website
+NGINX Explained in 100 Seconds
diff --git a/src/roadmaps/backend/content/122-web-servers/101-apache.md b/src/roadmaps/backend/content/122-web-servers/101-apache.md
index 36a37b022..eb7663c69 100644
--- a/src/roadmaps/backend/content/122-web-servers/101-apache.md
+++ b/src/roadmaps/backend/content/122-web-servers/101-apache.md
@@ -2,7 +2,6 @@
Apache is a free, open-source HTTP server, available on many operating systems, but mainly used on Linux distributions. It is one of the most popular options for web developers, as it accounts for over 30% of all the websites, as estimated by W3Techs.
-{% resources %}
- {% Official "https://httpd.apache.org/", "Apache Server Website" %}
- {% Blog "https://www.youtube.com/watch?v=kaaenHXO4t4", "What is Apache Web Server?" %}
-{% endresources %}
+Free Content
+Apache Server Website
+What is Apache Web Server?
diff --git a/src/roadmaps/backend/content/122-web-servers/102-caddy.md b/src/roadmaps/backend/content/122-web-servers/102-caddy.md
index fc368f80c..594f8aaf7 100644
--- a/src/roadmaps/backend/content/122-web-servers/102-caddy.md
+++ b/src/roadmaps/backend/content/122-web-servers/102-caddy.md
@@ -2,7 +2,6 @@
The Caddy web server is an extensible, cross-platform, open-source web server written in Go. It has some really nice features like automatic SSL/HTTPs and a really easy configuration file.
-{% resources %}
- {% Official "https://caddyserver.com/", "Official Website" %}
- {% Blog "https://www.youtube.com/watch?v=t4naLFSlBpQ", "Getting started with Caddy the HTTPS Web Server from scratch" %}
-{% endresources %}
+Free Content
+Official Website
+Getting started with Caddy the HTTPS Web Server from scratch
diff --git a/src/roadmaps/backend/content/122-web-servers/103-ms-iis.md b/src/roadmaps/backend/content/122-web-servers/103-ms-iis.md
index bbaa33da1..aaf3f8987 100644
--- a/src/roadmaps/backend/content/122-web-servers/103-ms-iis.md
+++ b/src/roadmaps/backend/content/122-web-servers/103-ms-iis.md
@@ -2,7 +2,6 @@
Internet Information Services (IIS) for Windows® Server is a flexible, secure and manageable Web server for hosting anything on the Web.
-{% resources %}
- {% Official "https://www.iis.net/", "Official Website" %}
- {% Blog "https://www.youtube.com/watch?v=1VdxPWwtISA", "Learn Windows Web Server IIS" %}
-{% endresources %}
+Free Content
+Official Website
+Learn Windows Web Server IIS
diff --git a/src/roadmaps/backend/content/122-web-servers/index.md b/src/roadmaps/backend/content/122-web-servers/readme.md
similarity index 79%
rename from src/roadmaps/backend/content/122-web-servers/index.md
rename to src/roadmaps/backend/content/122-web-servers/readme.md
index 885db8163..a81adb459 100644
--- a/src/roadmaps/backend/content/122-web-servers/index.md
+++ b/src/roadmaps/backend/content/122-web-servers/readme.md
@@ -12,7 +12,6 @@ A software web server has a number of software components that regulate how host
Basically, an HTTP request is made by a browser anytime it wants a file that is stored on a web server. The relevant (hardware) web server receives the request, which is then accepted by the appropriate (software) HTTP server, which then locates the requested content and returns it to the browser over HTTP. (If the server cannot locate the requested page, it responds with a 404 error.)
-{% resources %}
- {% Blog "https://developer.mozilla.org/en-US/docs/Learn/Common_questions/What_is_a_web_server", "What is a Web Server " %}
- {% Blog "https://youtu.be/9J1nJOivdyw", "Web Server Concepts and Examples" %}
-{% endresources %}
+Free Content
+What is a Web Server
+Web Server Concepts and Examples
diff --git a/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/100-graceful-degradation.md b/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/100-graceful-degradation.md
new file mode 100644
index 000000000..733b5e5eb
--- /dev/null
+++ b/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/100-graceful-degradation.md
@@ -0,0 +1,11 @@
+# Graceful Degradation
+
+Graceful degradation is a design principle that states that a system should be designed to continue functioning, even if some of its components or features are not available. In the context of web development, graceful degradation refers to the ability of a web page or application to continue functioning, even if the user's browser or device does not support certain features or technologies.
+
+Graceful degradation is often used as an alternative to progressive enhancement, a design principle that states that a system should be designed to take advantage of advanced features and technologies if they are available.
+
+Free Content
+What is Graceful Degradation & Why Does it Matter?
+Four Considerations When Designing Systems For Graceful Degradation
+The Art of Graceful Degradation
+
diff --git a/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/101-throttling.md b/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/101-throttling.md
new file mode 100644
index 000000000..6e1ca6807
--- /dev/null
+++ b/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/101-throttling.md
@@ -0,0 +1,14 @@
+# Throttling
+
+Throttling is a design pattern that is used to limit the rate at which a system or component can be used. It is commonly used in cloud computing environments to prevent overuse of resources, such as compute power, network bandwidth, or storage capacity.
+
+There are several ways to implement throttling in a cloud environment:
+
+* Rate limiting: This involves setting a maximum number of requests that can be made to a system or component within a specified time period.
+* Resource allocation: This involves allocating a fixed amount of resources to a system or component, and then limiting the use of those resources if they are exceeded.
+* Token bucket: This involves using a "bucket" of tokens to represent the available resources, and then allowing a certain number of tokens to be "consumed" by each request. When the bucket is empty, additional requests are denied until more tokens become available.
+
+Throttling is an important aspect of cloud design, as it helps to ensure that resources are used efficiently and that the system remains stable and available. It is often used in conjunction with other design patterns, such as auto-scaling and load balancing, to provide a scalable and resilient cloud environment.
+
+Free Content
+Throttling - AWS Well-Architected Framework
diff --git a/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/102-backpressure.md b/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/102-backpressure.md
new file mode 100644
index 000000000..6b5c9fa29
--- /dev/null
+++ b/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/102-backpressure.md
@@ -0,0 +1,14 @@
+# Backpressure
+
+Backpressure is a design pattern that is used to manage the flow of data through a system, particularly in situations where the rate of data production exceeds the rate of data consumption. It is commonly used in cloud computing environments to prevent overloading of resources and to ensure that data is processed in a timely and efficient manner.
+
+There are several ways to implement backpressure in a cloud environment:
+
+* Buffering: This involves storing incoming data in a buffer until it can be processed, allowing the system to continue receiving data even if it is temporarily unable to process it.
+* Batching: This involves grouping incoming data into batches and processing the batches in sequence, rather than processing each piece of data individually.
+* Flow control: This involves using mechanisms such as flow control signals or windowing to regulate the rate at which data is transmitted between systems.
+
+Backpressure is an important aspect of cloud design, as it helps to ensure that data is processed efficiently and that the system remains stable and available. It is often used in conjunction with other design patterns, such as auto-scaling and load balancing, to provide a scalable and resilient cloud environment.
+
+Free Content
+Backpressure - AWS Well-Architected Framework
diff --git a/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/103-loadshifting.md b/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/103-loadshifting.md
new file mode 100644
index 000000000..989ee45a8
--- /dev/null
+++ b/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/103-loadshifting.md
@@ -0,0 +1,14 @@
+# Load Shifting
+
+Load shifting is a design pattern that is used to manage the workload of a system by shifting the load to different components or resources at different times. It is commonly used in cloud computing environments to balance the workload of a system and to optimize the use of resources.
+
+There are several ways to implement load shifting in a cloud environment:
+
+* Scheduling: This involves scheduling the execution of tasks or workloads to occur at specific times or intervals.
+* Load balancing: This involves distributing the workload of a system across multiple resources, such as servers or containers, to ensure that the workload is balanced and that resources are used efficiently.
+* Auto-scaling: This involves automatically adjusting the number of resources that are available to a system based on the workload, allowing the system to scale up or down as needed.
+
+Load shifting is an important aspect of cloud design, as it helps to ensure that resources are used efficiently and that the system remains stable and available. It is often used in conjunction with other design patterns, such as throttling and backpressure, to provide a scalable and resilient cloud environment.
+
+Free Content
+Load Shifting - AWS Well-Architected Framework
diff --git a/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/104-circuit-breaker.md b/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/104-circuit-breaker.md
new file mode 100644
index 000000000..2a0ee1536
--- /dev/null
+++ b/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/104-circuit-breaker.md
@@ -0,0 +1,10 @@
+# Circuit Breaker
+
+The circuit breaker design pattern is a way to protect a system from failures or excessive load by temporarily stopping certain operations if the system is deemed to be in a failed or overloaded state. It is commonly used in cloud computing environments to prevent cascading failures and to improve the resilience and availability of a system.
+
+A circuit breaker consists of three states: closed, open, and half-open. In the closed state, the circuit breaker allows operations to proceed as normal. If the system encounters a failure or becomes overloaded, the circuit breaker moves to the open state, and all subsequent operations are immediately stopped. After a specified period of time, the circuit breaker moves to the half-open state, and a small number of operations are allowed to proceed. If these operations are successful, the circuit breaker moves back to the closed state; if they fail, the circuit breaker moves back to the open state.
+
+The circuit breaker design pattern is useful for protecting a system from failures or excessive load by providing a way to temporarily stop certain operations and allow the system to recover. It is often used in conjunction with other design patterns, such as retries and fallbacks, to provide a more robust and resilient cloud environment.
+
+Free Content
+Circuit Breaker - AWS Well-Architected Framework
diff --git a/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies.md b/src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/readme.md
similarity index 100%
rename from src/roadmaps/backend/content/123-scalability/100-mitigation-strategies.md
rename to src/roadmaps/backend/content/123-scalability/100-mitigation-strategies/readme.md
diff --git a/src/roadmaps/backend/content/123-scalability/101-instrumentation-monitoring-telemetry.md b/src/roadmaps/backend/content/123-scalability/101-instrumentation-monitoring-telemetry.md
index 96a232279..75e661840 100644
--- a/src/roadmaps/backend/content/123-scalability/101-instrumentation-monitoring-telemetry.md
+++ b/src/roadmaps/backend/content/123-scalability/101-instrumentation-monitoring-telemetry.md
@@ -6,8 +6,7 @@ Backend monitoring allows the user to view the performance of infrastructure i.e
Telemetry is the process of continuously collecting data from different components of the application. This data helps engineering teams to troubleshoot issues across services and identify the root causes. In other words, telemetry data powers observability for your distributed applications.
-{% resources %}
- {% Blog "https://en.wikipedia.org/wiki/Instrumentation_(computer_programming)", "What is Instrumentation?" %}
- {% Blog "https://www.yottaa.com/performance-monitoring-backend-vs-front-end-solutions/", "What is Monitoring?" %}
- {% Blog "https://www.sumologic.com/insight/what-is-telemetry/", "What is Telemetry?" %}
-{% endresources %}
+Free Content
+What is Instrumentation?
+What is Monitoring?
+What is Telemetry?
diff --git a/src/roadmaps/backend/content/123-scalability/102-migration-strategies.md b/src/roadmaps/backend/content/123-scalability/102-migration-strategies.md
index 0c29b4b91..3df74d204 100644
--- a/src/roadmaps/backend/content/123-scalability/102-migration-strategies.md
+++ b/src/roadmaps/backend/content/123-scalability/102-migration-strategies.md
@@ -1,7 +1,7 @@
# Migration Strategies
-A migration strategy is a plan for moving data from one location to another, and it is an important step in any database migration. A data migration strategy should include a plan for how to move the data and what to do with it once it arrives at the new location.
+Learn how to run database migrations effectively. Especially zero downtime multi-phase schema migrations. Rather than make all changes at once, do smaller incremental changes to allow old code, and new code to worth with the database at the same time, before removing old code, and finally removing the parts of the database schema which is no longer used.
+
+Free Content
+Databases as a Challenge for Continuous Delivery
-{% resources %}
- {% Blog "https://theecmconsultant.com/data-migration-strategy", "Migration strategies" %}
-{% endresources %}
diff --git a/src/roadmaps/backend/content/123-scalability/103-horizontal-vertical-scaling.md b/src/roadmaps/backend/content/123-scalability/103-horizontal-vertical-scaling.md
index b99feccda..eefa3f4cb 100644
--- a/src/roadmaps/backend/content/123-scalability/103-horizontal-vertical-scaling.md
+++ b/src/roadmaps/backend/content/123-scalability/103-horizontal-vertical-scaling.md
@@ -2,9 +2,9 @@
Horizontal scaling is a change in the **number** of a resource. For example, increasing the number of virtual machines processing messages in a queue. Vertical scaling is a change in the **size/power** of a resource. For example, increasing the memory or disk space available to a machine. Scaling can be applied to databases, cloud resources, and other areas of computing.
-{% resources %}
- {% Blog "https://touchstonesecurity.com/horizontal-vs-vertical-scaling-what-you-need-to-know/", "Horizontal vs Vertical Scaling" %}
- {% Blog "https://www.geeksforgeeks.org/horizontal-and-vertical-scaling-in-databases/", "Scaling In Databases" %}
- {% Blog "https://youtu.be/xpDnVSmNFX0", "System Design Basics: Horizontal vs. Vertical Scaling" %}
- {% Blog "https://www.youtube.com/watch?v=Y-Gl4HEyeUQ", "System Design 101" %}
-{% endresources %}
+Free Content
+
+Horizontal vs Vertical Scaling
+Scaling In Databases
+System Design Basics: Horizontal vs. Vertical Scaling
+System Design 101
diff --git a/src/roadmaps/backend/content/123-scalability/104-observability.md b/src/roadmaps/backend/content/123-scalability/104-observability.md
index abf6a29c2..419d6f387 100644
--- a/src/roadmaps/backend/content/123-scalability/104-observability.md
+++ b/src/roadmaps/backend/content/123-scalability/104-observability.md
@@ -6,10 +6,9 @@ So what makes a system to be "observable"? It is its ability of producing and co
You can of course implement all those features by yourself, but there are a lot of softwares out there that can help you with it like Datadog, Sentry and CloudWatch.
-{% resources %}
- {% Official "https://docs.datadoghq.com/", "DataDog Docs" %}
- {% Official "https://aws.amazon.com/cloudwatch/getting-started/", "AWS CloudWatch Docs" %}
- {% Official "https://docs.sentry.io/", "Sentry Docs" %}
- {% Blog "https://www.youtube.com/watch?v=Wx0SHRb2xcI", "AWS re:Invent 2017: Improving Microservice and Serverless Observability with Monitor" %}
- {% Blog "https://newrelic.com/blog/best-practices/observability-instrumentation", "Observability and Instrumentation: What They Are and Why They Matter" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+DataDog Docs
+AWS CloudWatch Docs
+Sentry Docs
+AWS re:Invent 2017: Improving Microservice and Serverless Observability with Monitor
+Observability and Instrumentation: What They Are and Why They Matter
\ No newline at end of file
diff --git a/src/roadmaps/backend/content/123-scalability/index.md b/src/roadmaps/backend/content/123-scalability/readme.md
similarity index 72%
rename from src/roadmaps/backend/content/123-scalability/index.md
rename to src/roadmaps/backend/content/123-scalability/readme.md
index db15b7366..eeeb6485e 100644
--- a/src/roadmaps/backend/content/123-scalability/index.md
+++ b/src/roadmaps/backend/content/123-scalability/readme.md
@@ -14,7 +14,6 @@ When you think about the infrastructure of a scalable system, you have two main
The main difference between on-premises and cloud resources will be FLEXIBILITY, on cloud providers you don't really need to plan ahead, you can upgrade your infrastructure with a couple of clicks, while with on-premises resources you will need a certain level of planning.
-{% resources %}
- {% Blog "https://www.sentinelone.com/blog/scalable-architecture/", "Scalable Architecture: A Definition and How-To Guide" %}
- {% Blog "https://www.youtube.com/watch?v=gxfERVP18-g", "Scaling Distributed Systems - Software Architecture Introduction" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+Scalable Architecture: A Definition and How-To Guide
+Scaling Distributed Systems - Software Architecture Introduction
\ No newline at end of file
diff --git a/src/roadmaps/backend/content/readme.md b/src/roadmaps/backend/content/readme.md
new file mode 100644
index 000000000..4e768b56d
--- /dev/null
+++ b/src/roadmaps/backend/content/readme.md
@@ -0,0 +1 @@
+#
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/blockchain.md b/src/roadmaps/blockchain/blockchain.md
index 5610a25dc..e8b6e0d55 100644
--- a/src/roadmaps/blockchain/blockchain.md
+++ b/src/roadmaps/blockchain/blockchain.md
@@ -1,5 +1,4 @@
---
-jsonUrl: "/jsons/blockchain.json"
pdfUrl: "/pdfs/blockchain.pdf"
order: 6
featuredTitle: "Blockchain"
diff --git a/src/roadmaps/blockchain/content/100-blockchain-basics/100-what-is-blockchain.md b/src/roadmaps/blockchain/content/100-blockchain-basics/100-what-is-blockchain.md
index ea88a4ef6..78a76ebe0 100644
--- a/src/roadmaps/blockchain/content/100-blockchain-basics/100-what-is-blockchain.md
+++ b/src/roadmaps/blockchain/content/100-blockchain-basics/100-what-is-blockchain.md
@@ -2,9 +2,8 @@
A blockchain is a decentralized, distributed, and oftentimes public, digital ledger consisting of records called blocks that is used to record transactions across many computers so that any involved block cannot be altered retroactively, without the alteration of all subsequent blocks.
-{% resources %}
- {% Blog "https://www.investopedia.com/terms/b/blockchain.asp", "Blockchain Explained" %}
- {% Blog "https://aws.amazon.com/blockchain/decentralization-in-blockchain/", "What is decentralization?" %}
- {% Blog "https://youtu.be/SSo_EIwHSd4", "How does a blockchain work?" %}
- {% Blog "https://youtu.be/4ff9esY_4aU", "What Is a Blockchain? | Blockchain Basics for Developers" %}
-{% endresources %}
+Free Content
+Blockchain Explained
+What is decentralization?
+How does a blockchain work?
+What Is a Blockchain? | Blockchain Basics for Developers
diff --git a/src/roadmaps/blockchain/content/100-blockchain-basics/101-decentralization.md b/src/roadmaps/blockchain/content/100-blockchain-basics/101-decentralization.md
index 0f1020720..c5e64ff4a 100644
--- a/src/roadmaps/blockchain/content/100-blockchain-basics/101-decentralization.md
+++ b/src/roadmaps/blockchain/content/100-blockchain-basics/101-decentralization.md
@@ -2,7 +2,6 @@
In blockchain, decentralization refers to the transfer of control and decision-making from a centralized entity (individual, organization, or group thereof) to a distributed network. Decentralized networks strive to reduce the level of trust that participants must place in one another, and deter their ability to exert authority or control over one another in ways that degrade the functionality of the network.
-{% resources %}
- {% Blog "https://aws.amazon.com/blockchain/decentralization-in-blockchain/", "What is decentralization?" %}
- {% Blog "https://www.blockchain-council.org/blockchain/what-is-decentralization-in-blockchain/", "What is Decentralization in Blockchain?" %}
-{% endresources %}
+Free Content
+What is decentralization?
+What is Decentralization in Blockchain?
diff --git a/src/roadmaps/blockchain/content/100-blockchain-basics/102-why-blockchain-matters.md b/src/roadmaps/blockchain/content/100-blockchain-basics/102-why-blockchain-matters.md
index e767689f9..6e11bd876 100644
--- a/src/roadmaps/blockchain/content/100-blockchain-basics/102-why-blockchain-matters.md
+++ b/src/roadmaps/blockchain/content/100-blockchain-basics/102-why-blockchain-matters.md
@@ -4,9 +4,8 @@ The nature of blockchain allows for trustless systems to be built on top of it.
This decentralization enables use-cases that were previously impossible, such as parametric insurance, decentralized finance, and decentralized organizations (DAOs), among a few. This allows developers to build products that provide immediate value without having to go through a bureaucratic process of applications, approvals, and general red tape.
-{% resources %}
- {% Blog "https://www.blockchain.education/blockchain101/blockchain", "Why Blockchain?" %}
- {% Blog "https://www.forbes.com/sites/theyec/2020/05/18/what-is-the-blockchain-and-why-does-it-matter/", "What Is The Blockchain And Why Does It Matter?" %}
- {% Blog "https://continuations.com/post/671863718643105792/web3crypto-why-bother", "Web3/Crypto: Why Bother?" %}
- {% Blog "https://www.simplilearn.com/tutorials/blockchain-tutorial/why-is-blockchain-important", "Why is Blockchain Important and Why Does it Matter" %}
-{% endresources %}
+Free Content
+Why Blockchain?
+What Is The Blockchain And Why Does It Matter?
+Web3/Crypto: Why Bother?
+Why is Blockchain Important and Why Does it Matter
diff --git a/src/roadmaps/blockchain/content/100-blockchain-basics/103-blockchain-structure.md b/src/roadmaps/blockchain/content/100-blockchain-basics/103-blockchain-structure.md
index 949b47182..affdd6419 100644
--- a/src/roadmaps/blockchain/content/100-blockchain-basics/103-blockchain-structure.md
+++ b/src/roadmaps/blockchain/content/100-blockchain-basics/103-blockchain-structure.md
@@ -4,9 +4,8 @@ The blockchain gets its name from its underlying structure. The blockchain is or
Understanding blockchain security requires understanding how the blockchain is put together. This requires knowing what the blocks and chains of blockchain are and why they are designed the way that they are.
-{% resources %}
- {% Blog "https://mlsdev.com/blog/156-how-to-build-your-own-blockchain-architecture", "Blockchain Architecture Basics: Components, Structure, Benefits & Creation" %}
- {% Blog "https://komodoplatform.com/en/academy/blockchain-architecture-101/", "Blockchain Architecture 101: Components, Structure, and Benefits" %}
- {% Blog "https://resources.infosecinstitute.com/topic/blockchain-structure/", "Blockchain structure" %}
- {% Course "https://www.coursera.org/lecture/blockchain-basics/blockchain-structure-5rj9Z", "Blockchain Basics | Coursera" %}
-{% endresources %}
+Free Content
+Blockchain Architecture Basics: Components, Structure, Benefits & Creation
+Blockchain Architecture 101: Components, Structure, and Benefits
+Blockchain structure
+Blockchain Basics | Coursera
diff --git a/src/roadmaps/blockchain/content/100-blockchain-basics/104-basic-blockchain-operations.md b/src/roadmaps/blockchain/content/100-blockchain-basics/104-basic-blockchain-operations.md
index 3d41bf488..4f3d0b9c8 100644
--- a/src/roadmaps/blockchain/content/100-blockchain-basics/104-basic-blockchain-operations.md
+++ b/src/roadmaps/blockchain/content/100-blockchain-basics/104-basic-blockchain-operations.md
@@ -2,9 +2,8 @@
Operations in a decentralized networks are the responsibility of the peer participants and their respective computational nodes. These are specific for each type of blockchain.
-{% resources %}
- {% Blog "https://www.mlq.ai/blockchain-basics/", "Blockchain Basics: Structure, Operations, and the Bitcoin Blockchain" %}
- {% Blog "https://developer.bitcoin.org/reference/transactions.html", "Bitcoin blockchain transactions | Bitcoin Developer" %}
- {% Blog "https://ethereum.org/en/developers/docs/transactions/", "Ethereum blockchain transactions | ethereum.org" %}
- {% Course "https://www.coursera.org/lecture/blockchain-basics/basic-operations-OxILB", "Blockchain Basics | Coursera" %}
-{% endresources %}
+Free Content
+Blockchain Basics: Structure, Operations, and the Bitcoin Blockchain
+Bitcoin blockchain transactions | Bitcoin Developer
+Ethereum blockchain transactions | ethereum.org
+Blockchain Basics | Coursera
diff --git a/src/roadmaps/blockchain/content/100-blockchain-basics/105-applications-and-uses.md b/src/roadmaps/blockchain/content/100-blockchain-basics/105-applications-and-uses.md
index 0f655f1c3..cbdc1f8d3 100644
--- a/src/roadmaps/blockchain/content/100-blockchain-basics/105-applications-and-uses.md
+++ b/src/roadmaps/blockchain/content/100-blockchain-basics/105-applications-and-uses.md
@@ -2,9 +2,8 @@
Blockchain applications go far beyond cryptocurrency and bitcoin. With its ability to create more transparency and fairness while also saving businesses time and money, the technology is impacting a variety of sectors in ways that range from how contracts are enforced to making government work more efficiently.
-{% resources %}
- {% Blog "https://consensys.net/blockchain-use-cases/", "Blockchain Use Cases and Applications by Industry" %}
- {% Blog "https://www.blockchain-council.org/blockchain/top-10-real-world-applications-of-blockchain-technology/", "Top 10 Real-World Applications Of Blockchain Technology" %}
- {% Blog "https://ethereum.org/en/developers/docs/transactions/", "Ethereum blockchain transactions | ethereum.org" %}
- {% Blog "https://builtin.com/blockchain/blockchain-applications", "E34 Blockchain Applications and Real-World Use Cases Disrupting the Status Quo" %}
-{% endresources %}
+Free Content
+Blockchain Use Cases and Applications by Industry
+Top 10 Real-World Applications Of Blockchain Technology
+Ethereum blockchain transactions | ethereum.org
+E34 Blockchain Applications and Real-World Use Cases Disrupting the Status Quo
diff --git a/src/roadmaps/blockchain/content/100-blockchain-basics/index.md b/src/roadmaps/blockchain/content/100-blockchain-basics/index.md
deleted file mode 100644
index 48a76317a..000000000
--- a/src/roadmaps/blockchain/content/100-blockchain-basics/index.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# Blockchain
-
-A blockchain is a decentralized, distributed, and oftentimes public, digital ledger consisting of records called blocks that is used to record transactions across many computers so that any involved block cannot be altered retroactively, without the alteration of all subsequent blocks.
-
-{% resources %}
- {% Blog "https://www.blockchain.education/blockchain101/blockchain", "Introduction to Blockchain" %}
- {% Blog "https://www.investopedia.com/terms/b/blockchain.asp", "Blockchain Explained" %}
- {% Blog "https://youtu.be/SSo_EIwHSd4", "How does a blockchain work?" %}
- {% Blog "https://youtu.be/4ff9esY_4aU", "What Is a Blockchain? | Blockchain Basics for Developers" %}
-{% endresources %}
diff --git a/src/roadmaps/blockchain/content/100-blockchain-basics/readme.md b/src/roadmaps/blockchain/content/100-blockchain-basics/readme.md
new file mode 100644
index 000000000..59d93b9dc
--- /dev/null
+++ b/src/roadmaps/blockchain/content/100-blockchain-basics/readme.md
@@ -0,0 +1,9 @@
+# Blockchain
+
+A blockchain is a decentralized, distributed, and oftentimes public, digital ledger consisting of records called blocks that is used to record transactions across many computers so that any involved block cannot be altered retroactively, without the alteration of all subsequent blocks.
+
+Free Content
+Introduction to Blockchain
+Blockchain Explained
+How does a blockchain work?
+What Is a Blockchain? | Blockchain Basics for Developers
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/100-storage.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/100-storage.md
index bd70e4cb3..5760d28d3 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/100-storage.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/100-storage.md
@@ -2,8 +2,7 @@
Unlike a centralized server operated by a single company or organization, decentralized storage systems consist of a peer-to-peer network of user-operators who hold a portion of the overall data, creating a resilient file storage sharing system.
-{% resources %}
- {% Blog "https://www.techtarget.com/searchstorage/definition/blockchain-storage", "Blockchain Storage" %}
- {% Blog "https://ethereum.org/en/developers/docs/storage/", "Decentralized Storage" %}
- {% Blog "https://docs.ipfs.tech/concepts/how-ipfs-works/", "How IPFS works" %}
-{% endresources %}
+Free Content
+Blockchain Storage
+Decentralized Storage
+How IPFS works
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/101-mining-and-incentive-models.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/101-mining-and-incentive-models.md
index 96f5994ec..656aa6279 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/101-mining-and-incentive-models.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/101-mining-and-incentive-models.md
@@ -4,8 +4,7 @@ Mining is the process of adding transaction details to the Blockchain, like send
An Incentive is basically a reward given to a Blockchain Miner for speeding up the transactions and making correct decisions while processing the complete transaction securely.
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/blockchain-incentives-to-miners/", "Blockchain Incentives to Miners" %}
- {% Blog "https://ethereum.org/en/developers/docs/consensus-mechanisms/", "Ethereum Consensus Mechanisms" %}
- {% Blog "https://docs.solana.com/implemented-proposals/staking-rewards", "Solana Staking Rewards" %}
-{% endresources %}
+Free Content
+Blockchain Incentives to Miners
+Ethereum Consensus Mechanisms
+Solana Staking Rewards
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/102-decentralization-vs-trust.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/102-decentralization-vs-trust.md
index af7037a0a..c3a438816 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/102-decentralization-vs-trust.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/102-decentralization-vs-trust.md
@@ -2,8 +2,7 @@
Blockchains, cryptocurrency, smart contracts, and oracles have emerged as new technologies for coordinating social and economic activities in a more secure, transparent, and accessible manner. Most importantly, these technologies are revealing the power of cryptographic guarantees—what we often call cryptographic truth—in restoring users’ trust in everyday interactions.
-{% resources %}
- {% Blog "https://blog.chain.link/what-crypto-is-really-about/", "What Crypto Is Really About" %}
- {% Blog "https://ethereum.org/en/developers/docs/consensus-mechanisms/", "Ethereum Consensus Mechanisms" %}
- {% Blog "https://youtu.be/AEtBPbmIRKQ", "The Superiority of Cryptographic Truth" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+What Crypto Is Really About
+Ethereum Consensus Mechanisms
+The Superiority of Cryptographic Truth
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/103-blockchain-forking.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/103-blockchain-forking.md
index 2c0c48409..495389055 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/103-blockchain-forking.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/103-blockchain-forking.md
@@ -2,8 +2,7 @@
A fork happens whenever a community makes a change to the blockchain’s protocol, or basic set of rules.
-{% resources %}
- {% Blog "https://en.wikipedia.org/wiki/Fork_(blockchain)", "Blockchain Fork" %}
- {% Blog "https://www.coinbase.com/learn/crypto-basics/what-is-a-fork", "What is a fork?" %}
- {% Blog "https://www.investopedia.com/terms/h/hard-fork.asp", "What Is a Hard Fork?" %}
-{% endresources %}
+Free Content
+Blockchain Fork
+What is a fork?
+What Is a Hard Fork?
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/104-cryptocurrencies.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/104-cryptocurrencies.md
index e41cd344a..f23996ace 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/104-cryptocurrencies.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/104-cryptocurrencies.md
@@ -2,8 +2,7 @@
A cryptocurrency, crypto-currency, or crypto is a digital currency designed to work as a medium of exchange through a blockchain, which is not reliant on any central authority, such as a government or bank, to uphold or maintain it.
-{% resources %}
- {% Blog "https://www.investopedia.com/terms/c/cryptocurrency.asp", "What Is Cryptocurrency?" %}
- {% Blog "https://www.nerdwallet.com/article/investing/cryptocurrency", "Cryptocurrency: What It Is and How It Works" %}
- {% Blog "https://youtu.be/rYQgy8QDEBI", "How Cryptocurrency actually works." %}
-{% endresources %}
\ No newline at end of file
+Free Content
+What Is Cryptocurrency?
+Cryptocurrency: What It Is and How It Works
+How Cryptocurrency actually works.
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/105-cryptowallets.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/105-cryptowallets.md
index fdedabc72..27d17e032 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/105-cryptowallets.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/105-cryptowallets.md
@@ -2,7 +2,6 @@
A cryptocurrency wallet is an application that functions as a wallet for your cryptocurrency.
-{% resources %}
- {% Blog "https://www.investopedia.com/terms/b/bitcoin-wallet.asp", "What is a Cryptocurrency Wallet?" %}
- {% Blog "https://crypto.com/university/crypto-wallets", "What is a Crypto Wallet? A Beginner’s Guide" %}
-{% endresources %}
+Free Content
+What is a Cryptocurrency Wallet?
+What is a Crypto Wallet? A Beginner’s Guide
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/106-cryptography.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/106-cryptography.md
index 6edcb1fd4..62ba797b0 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/106-cryptography.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/106-cryptography.md
@@ -2,10 +2,9 @@
Cryptography, or cryptology, is the practice and study of techniques for secure communication in the presence of adversarial behavior.
-{% resources %}
- {% Blog "https://en.wikipedia.org/wiki/Cryptography", "Cryptography" %}
- {% Blog "https://www.synopsys.com/glossary/what-is-cryptography.html", "What is Cryptography" %}
- {% Blog "https://youtu.be/AQDCe585Lnc", "Asymmetric Encryption - Simply explained" %}
- {% Blog "https://www.youtube.com/watch?v=6_Cxj5WKpIw", "What is Cryptography?" %}
- {% Blog "https://www.youtube.com/watch?v=trHox1bN5es", "Learn Cryptography" %}
-{% endresources %}
+Free Content
+Cryptography
+What is Cryptography
+Asymmetric Encryption - Simply explained
+What is Cryptography?
+Learn Cryptography
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/107-consensus-protocols.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/107-consensus-protocols.md
index b87a28b48..c9bb086cf 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/107-consensus-protocols.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/107-consensus-protocols.md
@@ -2,8 +2,7 @@
Consensus for blockchain is a procedure in which the peers of a Blockchain network reach agreement about the present state of the data in the network. Through this, consensus algorithms establish reliability and trust in the Blockchain network.
-{% resources %}
- {% Blog "https://crypto.com/university/consensus-mechanisms-in-blockchain", "Consensus Mechanisms in Blockchain: A Beginner’s Guide" %}
- {% Blog "https://ethereum.org/en/developers/docs/consensus-mechanisms/", "Consensus Mechanisms" %}
- {% Blog "https://www.coindesk.com/learn/what-is-a-consensus-mechanism/", "What Is a Consensus Mechanism?" %}
-{% endresources %}
+Free Content
+Consensus Mechanisms in Blockchain: A Beginner’s Guide
+Consensus Mechanisms
+What Is a Consensus Mechanism?
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/108-blockchain-interoperability.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/108-blockchain-interoperability.md
index 5b9950f1b..22a312af1 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/108-blockchain-interoperability.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/108-blockchain-interoperability.md
@@ -2,8 +2,7 @@
The concept of “blockchain interoperability” refers to the ability of different blockchain networks to exchange and leverage data between one another and to move unique types of digital assets between the networks’ respective blockchains.
-{% resources %}
- {% Blog "https://www.gemini.com/cryptopedia/why-is-interoperability-important-for-blockchain", "Cross-Chain Interoperability: What it Means for Blockchain" %}
- {% Blog "https://101blockchains.com/blockchain-interoperability/", "Blockchain Interoperability : Why Is Cross Chain Technology Important?" %}
- {% Blog "https://www.blockchain-council.org/blockchain/blockchain-interoperability/", "Blockchain Interoperability – Understanding Cross-Chain Technology" %}
-{% endresources %}
+Free Content
+Cross-Chain Interoperability: What it Means for Blockchain
+Blockchain Interoperability : Why Is Cross Chain Technology Important?
+Blockchain Interoperability – Understanding Cross-Chain Technology
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/100-solana.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/100-solana.md
index ec91f4c71..aa6a72fe7 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/100-solana.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/100-solana.md
@@ -2,10 +2,9 @@
Solana is a public blockchain platform with smart contract functionality. Its native cryptocurrency is SOL.
-{% resources %}
- {% Blog "https://cointelegraph.com/news/what-is-solana-and-how-does-it-work", "What is Solana, and how does it work?" %}
- {% Blog "https://solana.com/news/getting-started-with-solana-development", "Beginners Guide To Solana" %}
- {% Blog "https://docs.solana.com/introduction", "Solana Introduction" %}
- {% Blog "https://docs.solana.com/cluster/overview", "Solana Architecture" %}
- {% Blog "https://beta.solpg.io/?utm_source=solana.com", "Start Building Solana!" %}
-{% endresources %}
+Free Content
+What is Solana, and how does it work?
+Beginner's Guide To Solana
+Solana Introduction
+Solana Architecture
+Start Building Solana!
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/101-ton.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/101-ton.md
new file mode 100644
index 000000000..5b2c6ba25
--- /dev/null
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/101-ton.md
@@ -0,0 +1,9 @@
+# The Open Network
+
+TON is a fully decentralized layer-1 blockchain designed by Telegram to onboard billions of users. It boasts ultra-fast transactions, tiny fees, easy-to-use apps, and is environmentally friendly.
+
+Free Content
+TON Telegram integration highlights synergy of blockchain community
+Start building on The Open Network
+TON Introduction
+Blockchain analysis
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/avalanche.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/avalanche.md
index da5f2e248..fbfcb5bf3 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/avalanche.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/avalanche.md
@@ -2,7 +2,6 @@
Avalanche describes itself as an “open, programmable smart contracts platform for decentralized applications.” What does that mean? Like many other decentralized protocols, Avalanche has its own token called AVAX, which is used to pay transaction fees and can be staked to secure the network.
-{% resources %}
- {% Blog "https://assets.website-files.com/5d80307810123f5ffbb34d6e/6008d7bbf8b10d1eb01e7e16_Avalanche%20Platform%20Whitepaper.pdf", "Avalanche whitepaper" %}
- {% Blog "https://www.avax.network/", "Avalanche official website" %}
-{% endresources %}
+Free Content
+Avalanche whitepaper
+Avalanche official website
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/binance-smart-chain.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/binance-smart-chain.md
index a5e7b5198..1352652e1 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/binance-smart-chain.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/binance-smart-chain.md
@@ -2,7 +2,6 @@
Binance Smart Chain (also known as BNB Chain) is a blockchain project initiated by Binance as a central piece of their cryptocurrency exchange, which is the largest exchange in the world in terms of daily trading volume of cryptocurrencies.
-{% resources %}
- {% Blog "https://www.exodus.com/assets/docs/binance-coin-whitepaper.pdf", "Binance whitepaper" %}
- {% Blog "https://www.binance.com/en/blog/all/bnb-chain-blockchain-for-exchanging-the-world-304219301536473088", "BNB Chain overview" %}
-{% endresources %}
+Free Content
+Binance whitepaper
+BNB Chain overview
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/ethereum.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/ethereum.md
index d902a1ac5..5de122ef7 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/ethereum.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/ethereum.md
@@ -4,8 +4,7 @@ Ethereum is a programmable blockchain platform with the capacity to support smar
The Ethereum platform launched in 2015, and it’s now the second largest form of crypto next to Bitcoin (BTC).
-{% resources %}
- {% Blog "https://ethereum.org/en/whitepaper/", "Ethereum whitepaper" %}
- {% Blog "https://ethereum.org/en/developers/docs/intro-to-ethereum/", "Intro to Ethereum" %}
- {% Blog "https://bitsonblocks.net/2016/10/02/gentle-introduction-ethereum/", "A gentle introduction to Ethereum" %}
-{% endresources %}
+Free Content
+Ethereum whitepaper
+Intro to Ethereum
+A gentle introduction to Ethereum
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/fantom.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/fantom.md
index 903063043..a547a7701 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/fantom.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/fantom.md
@@ -2,7 +2,6 @@
Fantom is a decentralized, open-source smart contract platform that supports decentralized applications (dApps) and digital assets. It's one of many blockchain networks built as a faster, more efficient alternative to Ethereum, it uses the proof-of-stake consensus mechanism.
-{% resources %}
- {% Blog "https://arxiv.org/pdf/1810.10360.pdf", "Fantom whitepaper" %}
- {% Blog "https://docs.fantom.foundation/ ", "Fantom overview" %}
-{% endresources %}
+Free Content
+Fantom whitepaper
+Fantom overview
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/gnosis-chain.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/gnosis-chain.md
index 950c76abd..c1e1ef49b 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/gnosis-chain.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/gnosis-chain.md
@@ -2,7 +2,6 @@
Gnosis is a blockchain based on Ethereum, which changed the consensus model to PoS to solve major issues on the Ethereum mainnet. While the platform solves problems surrounding transaction fees and speed, it also means that the Gnosis chain is less decentralized, as it is somewhat reliant on the Ethereum chain.
-{% resources %}
- {% Blog "https://blockchainlab.com/pdf/gnosis_whitepaper.pdf", "Gnosis whitepaper" %}
- {% Blog "https://developers.gnosischain.com/#gnosis-chain", "Gnosis overview" %}
-{% endresources %}
+Free Content
+Gnosis whitepaper
+Gnosis overview
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/huobi-eco-chain.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/huobi-eco-chain.md
index 44f529425..2d4b39913 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/huobi-eco-chain.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/huobi-eco-chain.md
@@ -2,7 +2,6 @@
Huobi's ECO Chain (also known as HECO) is a public blockchain that provides developers with a low-cost onchain environment for running decentralized apps (dApps) of smart contracts and storing digital assets.
-{% resources %}
- {% Blog "https://www.hecochain.com/developer.133bd45.pdf", "Huobi Eco Chain whitepaper" %}
- {% Blog "https://docs.hecochain.com/#/", "Introduction to HECO Chain" %}
-{% endresources %}
+Free Content
+Huobi Eco Chain whitepaper
+Introduction to HECO Chain
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/moonbeam-moonriver.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/moonbeam-moonriver.md
index c13eb68b0..21c2965e0 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/moonbeam-moonriver.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/moonbeam-moonriver.md
@@ -4,7 +4,6 @@ Moonbeam is a Polkadot network parachain that promises cross-chain interoperabil
Moonriver is an incentivized testnet. It enables developers to create, test, and adjust their protocols prior to launching on Moonbeam. Moonbeam is the mainnet of the ecosystem.
-{% resources %}
- {% Blog "https://docs.moonbeam.network/learn/platform/networks/moonbeam/", "About Moonbream" %}
- {% Blog "https://docs.moonbeam.network/learn/platform/vision/", "Moonbeam Vision" %}
-{% endresources %}
+Free Content
+About Moonbream
+Moonbeam Vision
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/polygon.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/polygon.md
index 3b7e715d8..9fc979f60 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/polygon.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/polygon.md
@@ -2,7 +2,6 @@
Polygon, formerly known as the Matic Network, is a scaling solution that aims to provide multiple tools to improve the speed and reduce the cost and complexities of transactions on the Ethereum blockchain.
-{% resources %}
- {% Blog "https://polygon.technology/lightpaper-polygon.pdf", "Polygon whitepaper" %}
- {% Blog "https://wiki.polygon.technology/docs/develop/getting-started", "Introduction to Polygon" %}
-{% endresources %}
+Free Content
+Polygon whitepaper
+Introduction to Polygon
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/index.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/readme.md
similarity index 70%
rename from src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/index.md
rename to src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/readme.md
index 553d3f4f6..8f33619d5 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/index.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/102-evm-based/readme.md
@@ -4,6 +4,5 @@ The Ethereum Virtual Machine (EVM) is a dedicated software virtual stack that ex
Many blockchains have forked the Ethereum blockchain and added functionality on top, these blockchains are referred to as EVM-based blockchains.
-{% resources %}
- {% Blog "https://moralis.io/evm-explained-what-is-ethereum-virtual-machine/", "What is Ethereum Virtual Machine?" %}
-{% endresources %}
+Free Content
+What is Ethereum Virtual Machine?
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/103-l2-blockchains/arbitrum.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/103-l2-blockchains/arbitrum.md
index 345d718bc..10d7167ab 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/103-l2-blockchains/arbitrum.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/103-l2-blockchains/arbitrum.md
@@ -2,7 +2,6 @@
Arbitrum aims to reduce transaction fees and congestion by moving as much computation and data storage off of Ethereum's main blockchain (layer 1) as it can. Storing data off of Ethereum's blockchain is known as Layer 2 scaling solutions.
-{% resources %}
- {% Blog "https://www.usenix.org/system/files/conference/usenixsecurity18/sec18-kalodner.pdf", "Arbitrum whitepaper" %}
- {% Blog "https://developer.offchainlabs.com/docs/Inside_Arbitrum", "Inside Arbitrum" %}
-{% endresources %}
+Free Content
+Arbitrum whitepaper
+Inside Arbitrum
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/103-l2-blockchains/moonbeam-moonriver.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/103-l2-blockchains/moonbeam-moonriver.md
index 15030f791..8ec467e0d 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/103-l2-blockchains/moonbeam-moonriver.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/103-l2-blockchains/moonbeam-moonriver.md
@@ -4,7 +4,6 @@ Moonbeam is a Polkadot network parachain that promises cross-chain interoperabil
Moonriver is an incentivized testnet. It enables developers to create, test, and adjust their protocols prior to launching on Moonbeam. Moonbeam is the mainnet of the ecosystem.
-{% resources %}
- {% Blog "https://docs.moonbeam.network/learn/platform/networks/moonbeam/", "About Moonbeam" %}
- {% Blog "https://docs.moonbeam.network/learn/platform/vision/", "Moonbeam Vision" %}
-{% endresources %}
+Free Content
+About Moonbeam
+Moonbeam Vision
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/103-l2-blockchains/index.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/103-l2-blockchains/readme.md
similarity index 52%
rename from src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/103-l2-blockchains/index.md
rename to src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/103-l2-blockchains/readme.md
index ae3133d15..3f252489b 100644
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/103-l2-blockchains/index.md
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/103-l2-blockchains/readme.md
@@ -4,7 +4,6 @@ Layer-2 refers to a network or technology that operates on top of an underlying
This category of scaling solutions entails shifting a portion of Ethereum's transactional burden to an adjacent system architecture, which then handles the brunt of the network’s processing and only subsequently reports back to Ethereum to finalize its results.
-{% resources %}
- {% Blog "https://www.gemini.com/cryptopedia/blockchain-layer-2-network-layer-1-network", "Layer-1 and Layer-2 Blockchain Scaling Solutions" %}
- {% Blog "https://academy.binance.com/en/glossary/layer-2", "Layer 2 - Binance Academy" %}
-{% endresources %}
+Free Content
+Layer-1 and Layer-2 Blockchain Scaling Solutions
+Layer 2 - Binance Academy
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/index.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/index.md
deleted file mode 100644
index 1a16dc30e..000000000
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/index.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Blockchains
-
-Blockchain systems vary considerably in their design, particularly with regard to the consensus mechanisms used to perform the essential task of verifying network data.
-
-{% resources %}
- {% Blog "https://www.gemini.com/cryptopedia/blockchain-types-pow-pos-private", "Types of Blockchains: PoW, PoS, and Private" %}
- {% Blog "https://www.geeksforgeeks.org/types-of-blockchain/", "Types of Blockchain" %}
-{% endresources %}
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/readme.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/readme.md
new file mode 100644
index 000000000..b8f5a7eaf
--- /dev/null
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/109-blockchains/readme.md
@@ -0,0 +1,7 @@
+# Blockchains
+
+Blockchain systems vary considerably in their design, particularly with regard to the consensus mechanisms used to perform the essential task of verifying network data.
+
+Free Content
+Types of Blockchains: PoW, PoS, and Private
+Types of Blockchain
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/index.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/index.md
deleted file mode 100644
index f48d1a6e9..000000000
--- a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/index.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Blockchain general knowledge
-
-{% resources %}
- {% Blog "https://www.udemy.com/course/understanding-blockchain-technology/", "The Complete Course On Understanding Blockchain Technology" %}
- {% Blog "https://youtu.be/qOVAbKKSH10", "Blockchain Technology Explained" %}
-{% endresources %}
diff --git a/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/readme.md b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/readme.md
new file mode 100644
index 000000000..e98426e61
--- /dev/null
+++ b/src/roadmaps/blockchain/content/101-blockchain-general-knowledge/readme.md
@@ -0,0 +1,5 @@
+# Blockchain general knowledge
+
+Free Content
+The Complete Course On Understanding Blockchain Technology
+Blockchain Technology Explained
diff --git a/src/roadmaps/blockchain/content/102-blockchain-oracles/100-hybrid-smart-contracts.md b/src/roadmaps/blockchain/content/102-blockchain-oracles/100-hybrid-smart-contracts.md
index f20ee70df..54b5f1820 100644
--- a/src/roadmaps/blockchain/content/102-blockchain-oracles/100-hybrid-smart-contracts.md
+++ b/src/roadmaps/blockchain/content/102-blockchain-oracles/100-hybrid-smart-contracts.md
@@ -2,7 +2,6 @@
Hybrid smart contracts combine code running on the blockchain (on-chain) with data and computation from outside the blockchain (off-chain) provided by Decentralized Oracle Networks.
-{% resources %}
- {% Blog "https://blog.chain.link/hybrid-smart-contracts-explained/", "Hybrid Smart Contracts Explained" %}
- {% Blog "https://www.leewayhertz.com/hybrid-smart-contracts/", "A complete guide to understand hybrid smart contracts" %}
-{% endresources %}
+Free Content
+Hybrid Smart Contracts Explained
+A complete guide to understand hybrid smart contracts
diff --git a/src/roadmaps/blockchain/content/102-blockchain-oracles/101-chainlink.md b/src/roadmaps/blockchain/content/102-blockchain-oracles/101-chainlink.md
index 23cd88763..b94066fe7 100644
--- a/src/roadmaps/blockchain/content/102-blockchain-oracles/101-chainlink.md
+++ b/src/roadmaps/blockchain/content/102-blockchain-oracles/101-chainlink.md
@@ -2,7 +2,6 @@
Chainlink is a decentralized network of oracles that enables smart contracts to securely interact with real-world data and services that exist outside of blockchain networks.
-{% resources %}
- {% Blog "https://blog.chain.link/what-is-chainlink/", "What Is Chainlink? A Beginner’s Guide" %}
- {% Blog "https://www.gemini.com/cryptopedia/what-is-chainlink-and-how-does-it-work", "What Is Chainlink in 5 Minutes" %}
-{% endresources %}
+Free Content
+What Is Chainlink? A Beginner’s Guide
+What Is Chainlink in 5 Minutes
diff --git a/src/roadmaps/blockchain/content/102-blockchain-oracles/102-oracle-networks.md b/src/roadmaps/blockchain/content/102-blockchain-oracles/102-oracle-networks.md
index 358a99c9f..331319112 100644
--- a/src/roadmaps/blockchain/content/102-blockchain-oracles/102-oracle-networks.md
+++ b/src/roadmaps/blockchain/content/102-blockchain-oracles/102-oracle-networks.md
@@ -2,8 +2,7 @@
By leveraging many different data sources, and implementing an oracle system that isn’t controlled by a single entity, decentralized oracle networks provide an increased level of security and fairness to smart contracts.
-{% resources %}
- {% Blog "https://medium.com/coinmonks/decentralized-oracle-networks-9fead28f5fe5", "Decentralized Oracle Networks" %}
- {% Blog "https://chainlinktoday.com/a-beginners-guide-to-the-evolution-of-decentralized-oracle-networks/", "A Beginner’s Guide To The Evolution Of Decentralized Oracle Networks" %}
- {% Blog "https://coinmetro.com/blog/understanding-oracle-networks/", "Understanding Oracle Networks" %}
-{% endresources %}
+Free Content
+Decentralized Oracle Networks
+A Beginner’s Guide To The Evolution Of Decentralized Oracle Networks
+Understanding Oracle Networks
diff --git a/src/roadmaps/blockchain/content/102-blockchain-oracles/index.md b/src/roadmaps/blockchain/content/102-blockchain-oracles/index.md
deleted file mode 100644
index 29621552c..000000000
--- a/src/roadmaps/blockchain/content/102-blockchain-oracles/index.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Blockchain Oracles
-
-A blockchain oracle is a third-party service that connects smart contracts with the outside world, primarily to feed information in from the world, but also the reverse. Information from the world encapsulates multiple sources so that decentralised knowledge is obtained.
-
-{% resources %}
- {% Blog "https://en.wikipedia.org/wiki/Blockchain_oracle", "Blockchain Oracle" %}
- {% Blog "https://chain.link/education/blockchain-oracles", "What Is a Blockchain Oracle?" %}
-{% endresources %}
diff --git a/src/roadmaps/blockchain/content/102-blockchain-oracles/readme.md b/src/roadmaps/blockchain/content/102-blockchain-oracles/readme.md
new file mode 100644
index 000000000..a0fd27543
--- /dev/null
+++ b/src/roadmaps/blockchain/content/102-blockchain-oracles/readme.md
@@ -0,0 +1,7 @@
+# Blockchain Oracles
+
+A blockchain oracle is a third-party service that connects smart contracts with the outside world, primarily to feed information in from the world, but also the reverse. Information from the world encapsulates multiple sources so that decentralised knowledge is obtained.
+
+Free Content
+Blockchain Oracle
+What Is a Blockchain Oracle?
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/100-solidity.md b/src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/100-solidity.md
index db65a091b..e7e9aaa74 100644
--- a/src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/100-solidity.md
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/100-solidity.md
@@ -7,10 +7,9 @@ Solidity is an object-oriented programming language created specifically by Ethe
Like any other programming languages, Solidity also has variables, functions, classes, arithmetic operations, string manipulation, and many more.
-{% resources %}
- {% Blog "https://soliditylang.org/", "Solidity Programming Language" %}
- {% Blog "https://www.tutorialspoint.com/solidity/index.htm", "Solidity Tutorial" %}
- {% Blog "https://www.youtube.com/watch?v=ipwxYa-F1uY", "Solidity Course by FreeCodeCamp" %}
- {% Blog "https://www.youtube.com/watch?v=EhPeHeoKF88", "Solidity Course by Dapp University" %}
- {% Blog "https://youtu.be/gyMwXuJrbJQ", "Learn Blockchain, Solidity, and Full Stack Web3 Development" %}
-{% endresources %}
+Free Content
+Solidity Programming Language
+Solidity Tutorial
+Solidity Course by FreeCodeCamp
+Solidity Course by Dapp University
+Learn Blockchain, Solidity, and Full Stack Web3 Development
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/101-vyper.md b/src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/101-vyper.md
index 55446d1b5..a73458c1e 100644
--- a/src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/101-vyper.md
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/101-vyper.md
@@ -2,7 +2,6 @@
Vyper is a contract-oriented, pythonic programming language that targets the Ethereum Virtual Machine (EVM).
-{% resources %}
- {% Blog "https://vyper.readthedocs.io/en/stable/", "Vyper Programming Language" %}
- {% Blog "https://learnxinyminutes.com/docs/vyper/", "Learn Vyper in Y Minutes" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+Vyper Programming Language
+Learn Vyper in Y Minutes
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/102-rust.md b/src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/102-rust.md
index f34bd6825..56697a0d7 100644
--- a/src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/102-rust.md
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/102-rust.md
@@ -2,7 +2,6 @@
Rust is a multi-paradigm, general-purpose programming language. Rust emphasizes performance, type safety, and concurrency. It is popular on smart contract chains Solana and Polkadot.
-{% resources %}
- {% Blog "https://www.rust-lang.org/", "Rust Programming Language" %}
- {% Blog "https://learn.figment.io/tutorials/write-and-deploy-a-smart-contract-on-near", "How to write and deploy a smart contract in Rust" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+Rust Programming Language
+How to write and deploy a smart contract in Rust
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/index.md b/src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/readme.md
similarity index 50%
rename from src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/index.md
rename to src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/readme.md
index 6d0832c29..b2a96bea0 100644
--- a/src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/index.md
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/100-programming-languages/readme.md
@@ -2,6 +2,5 @@
Smart contracts can be programmed using relatively developer-friendly languages. If you're experienced with Python or any curly-bracket language, you can find a language with familiar syntax.
-{% resources %}
- {% Blog "https://ethereum.org/en/developers/docs/smart-contracts/languages/", "Smart Contract Languages" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+Smart Contract Languages
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/100-unit-tests.md b/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/100-unit-tests.md
index beeb43b59..13b304dfb 100644
--- a/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/100-unit-tests.md
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/100-unit-tests.md
@@ -2,7 +2,6 @@
Unit testing involves testing individual components in a smart contract for correctness. A unit test is simple, quick to run, and provides a clear idea of what went wrong if the test fails.
-{% resources %}
- {% Blog "https://ethereum.org/en/developers/docs/smart-contracts/testing/#unit-testing", "Smart Contracts Unit Testing" %}
- {% Blog "https://betterprogramming.pub/a-few-tips-for-unit-testing-ethereum-smart-contract-in-solidity-d804062068fb", "Tips for Unit Testing Ethereum Smart Contracts in Solidity" %}
-{% endresources %}
+Free Content
+Smart Contracts Unit Testing
+Tips for Unit Testing Ethereum Smart Contracts in Solidity
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/101-integration-tests.md b/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/101-integration-tests.md
index 83553f213..eecc10cc6 100644
--- a/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/101-integration-tests.md
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/101-integration-tests.md
@@ -2,6 +2,5 @@
Integration tests validate interactions between multiple components. For smart contract testing this can mean interactions between different components of a single contract, or across multiple contracts.
-{% resources %}
- {% Blog "https://youtu.be/GxnX9k8i0zM", "Unit tests vs integration tests | Smart contract testing course" %}
-{% endresources %}
+Free Content
+Unit tests vs integration tests | Smart contract testing course
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/102-code-coverage.md b/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/102-code-coverage.md
index 102502c98..1d0e94670 100644
--- a/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/102-code-coverage.md
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/102-code-coverage.md
@@ -2,7 +2,6 @@
Code coverage is a metric that can help you understand how much of your source is tested. It's a very useful metric that can help you assess the quality of your test suite.
-{% resources %}
- {% Blog "https://ethereum.org/en/developers/docs/smart-contracts/testing/", "Testing Smart Contracts" %}
- {% Blog "https://medium.com/coinmonks/smart-contract-code-coverage-in-hardhat-d4a5ff6c9ba6", "Smart Contract Code Coverage In Hardhat" %}
-{% endresources %}
+Free Content
+Testing Smart Contracts
+Smart Contract Code Coverage In Hardhat
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/index.md b/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/index.md
deleted file mode 100644
index 114282f89..000000000
--- a/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/index.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Testing
-
-Testing smart contracts is one of the most important measures for improving smart contract security. Unlike traditional software, smart contracts cannot typically be updated after launching, making it imperative to test rigorously before deploying contracts onto mainnet.
-
-{% resources %}
- {% Blog "https://ethereum.org/en/developers/docs/smart-contracts/testing/", "Testing Smart Contracts" %}
- {% Blog "https://betterprogramming.pub/how-to-test-ethereum-smart-contracts-35abc8fa199d", "How to Test Ethereum Smart Contracts" %}
- {% Blog "https://docs.openzeppelin.com/learn/writing-automated-tests", "Writing automated smart contract tests" %}
-{% endresources %}
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/readme.md b/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/readme.md
new file mode 100644
index 000000000..3290cc368
--- /dev/null
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/101-testing/readme.md
@@ -0,0 +1,8 @@
+# Testing
+
+Testing smart contracts is one of the most important measures for improving smart contract security. Unlike traditional software, smart contracts cannot typically be updated after launching, making it imperative to test rigorously before deploying contracts onto mainnet.
+
+Free Content
+Testing Smart Contracts
+How to Test Ethereum Smart Contracts
+Writing automated smart contract tests
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/102-deployment.md b/src/roadmaps/blockchain/content/103-smart-contracts/102-deployment.md
index 855d0afc5..a1b4cc485 100644
--- a/src/roadmaps/blockchain/content/103-smart-contracts/102-deployment.md
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/102-deployment.md
@@ -2,7 +2,6 @@
Unlike other software, smart contracts don’t run on a local computer or a remote server: they live on the blockchain. Thus, interacting with them is different from more traditional applications.
-{% resources %}
- {% Blog "https://ethereum.org/en/developers/docs/smart-contracts/deploying/", "Deploying Smart Contracts" %}
- {% Blog "https://docs.openzeppelin.com/learn/deploying-and-interacting", "Deploying and interacting with smart contracts" %}
-{% endresources %}
+Free Content
+Deploying Smart Contracts
+Deploying and interacting with smart contracts
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/103-monitoring.md b/src/roadmaps/blockchain/content/103-smart-contracts/103-monitoring.md
index 39dbc0b47..28bd3744f 100644
--- a/src/roadmaps/blockchain/content/103-smart-contracts/103-monitoring.md
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/103-monitoring.md
@@ -2,6 +2,5 @@
Monitoring smart contracts allow their authors to view its activity and interactions based on generated transactions and events, allowing verification of the contract's intended purpose and functionality.
-{% resources %}
- {% Blog "https://consensys.github.io/smart-contract-best-practices/development-recommendations/solidity-specific/event-monitoring/", "Monitoring Smart Contracts" %}
-{% endresources %}
+Free Content
+Monitoring Smart Contracts
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/104-upgrades.md b/src/roadmaps/blockchain/content/103-smart-contracts/104-upgrades.md
index a866080a8..42d3dd764 100644
--- a/src/roadmaps/blockchain/content/103-smart-contracts/104-upgrades.md
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/104-upgrades.md
@@ -2,9 +2,8 @@
Smart contracts are immutable by default. Once they are created there is no way to alter them, effectively acting as an unbreakable contract among participants. However, for some scenarios, it is desirable to be able to modify them.
-{% resources %}
- {% Blog "https://ethereum.org/en/developers/docs/smart-contracts/upgrading/", "Upgrading Ethereum contracts" %}
- {% Blog "https://docs.openzeppelin.com/learn/upgrading-smart-contracts", "Upgrading smart contracts" %}
- {% Blog "https://moralis.io/what-are-upgradable-smart-contracts-full-guide/", "What are Upgradable Smart Contracts? Full Guide" %}
- {% Blog "https://youtu.be/bdXJmWajZRY", "Upgrading your Smart Contracts | A Tutorial & Introduction" %}
-{% endresources %}
+Free Content
+Upgrading Ethereum contracts
+Upgrading smart contracts
+What are Upgradable Smart Contracts? Full Guide
+Upgrading your Smart Contracts | A Tutorial & Introduction
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/105-erc-tokens.md b/src/roadmaps/blockchain/content/103-smart-contracts/105-erc-tokens.md
index ba5f3d82c..0365ede79 100644
--- a/src/roadmaps/blockchain/content/103-smart-contracts/105-erc-tokens.md
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/105-erc-tokens.md
@@ -4,9 +4,8 @@ An ‘Ethereum Request for Comments’ (ERC) is a document that programmers use
While there are several Ethereum standards. These ERC Ethereum standards are the most well-known and popular: ERC-20, ERC-721, ERC-1155, and ERC-777.
-{% resources %}
- {% Blog "https://dev.to/envoy_/ks-what-are-ethereum-request-for-comments-erc-standards-5f80", "What are Ethereum request for comments (ERC) Standards" %}
- {% Blog "https://ethereum.org/en/developers/docs/standards/tokens/erc-20/", "ERC-20 Token Standard" %}
- {% Blog "https://decrypt.co/resources/erc-721-ethereum-nft-token-standard", "ERC-721 Token Standard (NFTs)" %}
- {% Blog "https://decrypt.co/resources/what-is-erc-1155-ethereums-flexible-token-standard", "ERC-1155 Token Standard (Multi-Token)" %}
-{% endresources %}
+Free Content
+What are Ethereum request for comments (ERC) Standards
+ERC-20 Token Standard
+ERC-721 Token Standard (NFT's)
+ERC-1155 Token Standard (Multi-Token)
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/106-crypto-wallets.md b/src/roadmaps/blockchain/content/103-smart-contracts/106-crypto-wallets.md
index b6842e883..f4cfba804 100644
--- a/src/roadmaps/blockchain/content/103-smart-contracts/106-crypto-wallets.md
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/106-crypto-wallets.md
@@ -2,7 +2,6 @@
A cryptocurrency wallet is a device, physical medium, program, or service which stores the public and/or private keys for cryptocurrency transactions. In addition to this basic function of storing the keys, a cryptocurrency wallet more often also offers the functionality of encrypting and/or signing information.
-{% resources %}
- {% Blog "https://www.coinbase.com/learn/crypto-basics/what-is-a-crypto-wallet", "What is a crypto wallet?" %}
- {% Blog "https://crypto.com/university/crypto-wallets", "What is a Crypto Wallet? A Beginner’s Guide" %}
-{% endresources %}
+Free Content
+What is a crypto wallet?
+What is a Crypto Wallet? A Beginner’s Guide
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/107-ides.md b/src/roadmaps/blockchain/content/103-smart-contracts/107-ides.md
index 5c6328545..19a43eb18 100644
--- a/src/roadmaps/blockchain/content/103-smart-contracts/107-ides.md
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/107-ides.md
@@ -2,7 +2,6 @@
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools and a debugger.
-{% resources %}
- {% Blog "https://ethereum.org/en/developers/docs/ides/", "Integrated Development Environments" %}
- {% Blog "https://remix-project.org/", "Remix - Ethereum IDE & community" %}
-{% endresources %}
+Free Content
+Integrated Development Environments
+Remix - Ethereum IDE & community
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/108-crypto-faucets.md b/src/roadmaps/blockchain/content/103-smart-contracts/108-crypto-faucets.md
index d1fe1bd97..1809f5cf5 100644
--- a/src/roadmaps/blockchain/content/103-smart-contracts/108-crypto-faucets.md
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/108-crypto-faucets.md
@@ -4,7 +4,6 @@ A crypto faucet lets users earn small crypto rewards by completing simple tasks.
Faucets are common in development environments where developers obtain testnet crypto in order develop and test their application prior to mainnet deployment.
-{% resources %}
- {% Blog "https://academy.binance.com/en/articles/what-is-a-crypto-faucet", "What Is A Crypto Faucet?" %}
- {% Blog "https://cointelegraph.com/news/what-are-crypto-faucets-and-how-do-they-work", "What are crypto faucets and how do they work?" %}
-{% endresources %}
+Free Content
+What Is A Crypto Faucet?
+What are crypto faucets and how do they work?
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/109-decentralized-storage.md b/src/roadmaps/blockchain/content/103-smart-contracts/109-decentralized-storage.md
index 80d67a517..35765989c 100644
--- a/src/roadmaps/blockchain/content/103-smart-contracts/109-decentralized-storage.md
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/109-decentralized-storage.md
@@ -2,7 +2,6 @@
Decentralized storage is where data is stored on a decentralized network across multiple locations by users or groups who are incentivized to join, store, and keep data accessible. The servers used are hosted by people, rather than a single company. Anyone is free to join, they are kept honest due to smart contracts, and they are incentivized to participate via tokens.
-{% resources %}
- {% Blog "https://medium.com/@ppio/what-is-decentralized-storage-9c4b761942e2", "What Is Decentralized Storage?" %}
- {% Blog "https://ethereum.org/en/developers/docs/storage/", "Decentralized Storage" %}
-{% endresources %}
+Free Content
+What Is Decentralized Storage?
+Decentralized Storage
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/index.md b/src/roadmaps/blockchain/content/103-smart-contracts/index.md
deleted file mode 100644
index 454ae72fb..000000000
--- a/src/roadmaps/blockchain/content/103-smart-contracts/index.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Smart Contracts
-
-A smart contract is a computer program or a transaction protocol that is intended to automatically execute, control or document legally relevant events and actions according to the terms of a contract or an agreement.
-
-{% resources %}
- {% Blog "https://www.blockchain.education/blockchain101/smart-contracts", "Smart Contracts Introduction" %}
- {% Blog "https://chain.link/education/smart-contracts", "What Is a Smart Contract?" %}
- {% Blog "https://youtu.be/ZE2HxTmxfrI", "Smart contracts - Simply Explained" %}
-{% endresources %}
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/103-smart-contracts/readme.md b/src/roadmaps/blockchain/content/103-smart-contracts/readme.md
new file mode 100644
index 000000000..60f4dadaf
--- /dev/null
+++ b/src/roadmaps/blockchain/content/103-smart-contracts/readme.md
@@ -0,0 +1,8 @@
+# Smart Contracts
+
+A smart contract is a computer program or a transaction protocol that is intended to automatically execute, control or document legally relevant events and actions according to the terms of a contract or an agreement.
+
+Free Content
+Smart Contracts Introduction
+What Is a Smart Contract?
+Smart contracts - Simply Explained
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/104-smart-contract-frameworks/100-hardhat.md b/src/roadmaps/blockchain/content/104-smart-contract-frameworks/100-hardhat.md
index 77d486532..1933a20cb 100644
--- a/src/roadmaps/blockchain/content/104-smart-contract-frameworks/100-hardhat.md
+++ b/src/roadmaps/blockchain/content/104-smart-contract-frameworks/100-hardhat.md
@@ -2,7 +2,6 @@
Hardhat is an Ethereum development environment. It allows users to compile contracts and run them on a development network. Get Solidity stack traces, console.log and more.
-{% resources %}
- {% Blog "https://hardhat.org/hardhat-runner/docs/getting-started#overview", "Hardhat Overview" %}
- {% Blog "https://youtu.be/GBc3lBrXEBo", "Build and Deploy Smart Contracts using Hardhat" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+Hardhat Overview
+Build and Deploy Smart Contracts using Hardhat
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/104-smart-contract-frameworks/101-brownie.md b/src/roadmaps/blockchain/content/104-smart-contract-frameworks/101-brownie.md
index 2130a5e59..d21bfa4f9 100644
--- a/src/roadmaps/blockchain/content/104-smart-contract-frameworks/101-brownie.md
+++ b/src/roadmaps/blockchain/content/104-smart-contract-frameworks/101-brownie.md
@@ -2,7 +2,6 @@
Brownie is a Python-based development and testing framework for smart contracts targeting the Ethereum Virtual Machine.
-{% resources %}
- {% Blog "https://eth-brownie.readthedocs.io/", "Brownie Overview" %}
- {% Blog "https://youtu.be/QfFO22lwSw4", "Python and Blockchain: Deploy Smart Contracts using Brownie" %}
-{% endresources %}
+Free Content
+Brownie Overview
+Python and Blockchain: Deploy Smart Contracts using Brownie
diff --git a/src/roadmaps/blockchain/content/104-smart-contract-frameworks/102-truffle.md b/src/roadmaps/blockchain/content/104-smart-contract-frameworks/102-truffle.md
index 45f15189d..abc7c6111 100644
--- a/src/roadmaps/blockchain/content/104-smart-contract-frameworks/102-truffle.md
+++ b/src/roadmaps/blockchain/content/104-smart-contract-frameworks/102-truffle.md
@@ -2,7 +2,6 @@
A development environment, testing framework, and asset pipeline for blockchains using the Ethereum Virtual Machine (EVM), aiming to make life as a developer easier.
-{% resources %}
- {% Blog "https://trufflesuite.com/docs/truffle/", "Truffle Overview" %}
- {% Blog "https://youtu.be/62f757RVEvU", "Truffle Tutorial for Beginners | Compile, Test & Deploy Smart contracts to any EVM Blockchain" %}
-{% endresources %}
+Free Content
+Truffle Overview
+Truffle Tutorial for Beginners | Compile, Test & Deploy Smart contracts to any EVM Blockchain
diff --git a/src/roadmaps/blockchain/content/104-smart-contract-frameworks/103-foundry.md b/src/roadmaps/blockchain/content/104-smart-contract-frameworks/103-foundry.md
index 94136a1cf..827ceb14a 100644
--- a/src/roadmaps/blockchain/content/104-smart-contract-frameworks/103-foundry.md
+++ b/src/roadmaps/blockchain/content/104-smart-contract-frameworks/103-foundry.md
@@ -2,8 +2,7 @@
Foundry is a smart contract development toolchain. Foundry manages your dependencies, compiles your project, runs tests, deploys, and lets you interact with the chain from the command-line and via Solidity scripts.
-{% resources %}
- {% Blog "https://book.getfoundry.sh/", "Foundry Overview" %}
- {% Blog "https://youtu.be/fNMfMxGxeag", "Intro to Foundry" %}
-{% endresources %}
+Free Content
+Foundry Overview
+Intro to Foundry
diff --git a/src/roadmaps/blockchain/content/104-smart-contract-frameworks/index.md b/src/roadmaps/blockchain/content/104-smart-contract-frameworks/index.md
deleted file mode 100644
index ac138720d..000000000
--- a/src/roadmaps/blockchain/content/104-smart-contract-frameworks/index.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Smart Contract Frameworks
-
-Building a full-fledged dapp requires different pieces of technology. Software frameworks include many of the needed features or provide easy plugin systems to pick the tools you desire.
-
-{% resources %}
- {% Blog "https://ethereum.org/en/developers/docs/frameworks/", "dApp Development Frameworks" %}
- {% Blog "https://media.consensys.net/an-definitive-list-of-ethereum-developer-tools-2159ce865974#frameworks", "A Definitive List of Ethereum Developer Tools - Frameworks" %}
- {% Blog "https://medium.com/better-programming/top-10-smart-contract-developer-tools-you-need-for-2022-b763f5df689a", "Top 10 Smart Contract Developer Tools You Need for 2022" %}
-{% endresources %}
diff --git a/src/roadmaps/blockchain/content/104-smart-contract-frameworks/readme.md b/src/roadmaps/blockchain/content/104-smart-contract-frameworks/readme.md
new file mode 100644
index 000000000..103cf9487
--- /dev/null
+++ b/src/roadmaps/blockchain/content/104-smart-contract-frameworks/readme.md
@@ -0,0 +1,8 @@
+# Smart Contract Frameworks
+
+Building a full-fledged dapp requires different pieces of technology. Software frameworks include many of the needed features or provide easy plugin systems to pick the tools you desire.
+
+Free Content
+dApp Development Frameworks
+A Definitive List of Ethereum Developer Tools - Frameworks
+Top 10 Smart Contract Developer Tools You Need for 2022
diff --git a/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/100-fuzz-testing-and-static-analysis.md b/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/100-fuzz-testing-and-static-analysis.md
index 248e8421e..f4306de22 100644
--- a/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/100-fuzz-testing-and-static-analysis.md
+++ b/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/100-fuzz-testing-and-static-analysis.md
@@ -4,8 +4,7 @@
Static analysis is the analysis of smart contracts performed without executing them.
- {% resources %}
- {% Blog "https://www.immunebytes.com/blog/getting-started-with-smart-contract-fuzzing/", "Getting Started with Smart Contract Fuzzing" %}
- {% Blog "https://lightrains.com/blogs/solidity-static-analysis-tools/#static-code-analysis", "Solidity smart contract Static Code Analysis" %}
- {% Blog "https://youtu.be/LRyyNzrqgOc", "Smart contract Fuzzing" %}
-{% endresources %}
\ No newline at end of file
+ Free Content
+Getting Started with Smart Contract Fuzzing
+Solidity smart contract Static Code Analysis
+Smart contract Fuzzing
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/101-common-threat-vectors.md b/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/101-common-threat-vectors.md
index f70acbeca..a85aab6c2 100644
--- a/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/101-common-threat-vectors.md
+++ b/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/101-common-threat-vectors.md
@@ -2,8 +2,7 @@
Smart contract audits enable developers to provide a thorough analysis of smart contract sets. The main goal of a smart contract audit is to detect and eliminate vulnerabilities, starting with the most common threat vectors.
-{% resources %}
- {% Blog "https://github.com/kadenzipfel/smart-contract-attack-vectors", "Smart Contract Attack Vectors" %}
- {% Blog "https://blog.sigmaprime.io/solidity-security.html", "Solidity Security: Comprehensive list of known attack vectors and common anti-patterns" %}
- {% Blog "https://www.apriorit.com/dev-blog/578-blockchain-attack-vectors", "Blockchain Attack Vectors: Vulnerabilities of the Most Secure Technology" %}
-{% endresources %}
+Free Content
+Smart Contract Attack Vectors
+Solidity Security: Comprehensive list of known attack vectors and common anti-patterns
+Blockchain Attack Vectors: Vulnerabilities of the Most Secure Technology
diff --git a/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/102-source-of-randomness-attacks.md b/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/102-source-of-randomness-attacks.md
index 128f8ca55..7c30e94d8 100644
--- a/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/102-source-of-randomness-attacks.md
+++ b/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/102-source-of-randomness-attacks.md
@@ -2,6 +2,5 @@
The security of cryptographic systems depends on some secret data that is known to authorized persons but unknown and unpredictable to others. To achieve this unpredictability, some randomization is typically employed. Modern cryptographic protocols often require frequent generation of random quantities. Cryptographic attacks that subvert or exploit weaknesses in this process are known as randomness attacks.
-{% resources %}
- {% Blog "https://blog.finxter.com/randomness-or-replicatedlogic-attack-on-smart-contracts/", "Smart Contract Randomness or ReplicatedLogic Attack" %}
-{% endresources %}
+Free Content
+Smart Contract Randomness or ReplicatedLogic Attack
diff --git a/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/index.md b/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/index.md
deleted file mode 100644
index de2997a6d..000000000
--- a/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/index.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Practices
-
-Smart contract programming requires a different engineering mindset. The cost of failure can be high, and change can be difficult.
-
-{% resources %}
- {% Blog "https://consensys.github.io/smart-contract-best-practices/", "Ethereum Smart Contract Security Best Practices" %}
- {% Blog "https://youtu.be/0aJfCug1zTM", "Smart Contract Security and Auditing 101" %}
-{% endresources %}
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/readme.md b/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/readme.md
new file mode 100644
index 000000000..e7887d2d0
--- /dev/null
+++ b/src/roadmaps/blockchain/content/105-blockchain-security/100-practices/readme.md
@@ -0,0 +1,7 @@
+# Practices
+
+Smart contract programming requires a different engineering mindset. The cost of failure can be high, and change can be difficult.
+
+Free Content
+Ethereum Smart Contract Security Best Practices
+Smart Contract Security and Auditing 101
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/100-slither.md b/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/100-slither.md
index 2fc5c1d38..10a9a7995 100644
--- a/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/100-slither.md
+++ b/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/100-slither.md
@@ -2,6 +2,5 @@
Slither is a Solidity static analysis framework written in Python 3. It runs a suite of vulnerability detectors, prints visual information about contract details, and provides an API to easily write custom analyses. Slither enables developers to find vulnerabilities, enhance their code comprehension, and quickly prototype custom analyses.
-{% resources %}
- {% Blog "https://github.com/crytic/slither/blob/master/README.md", "Slither, the Solidity source analyzer" %}
-{% endresources %}
+Free Content
+Slither, the Solidity source analyzer
diff --git a/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/101-manticore.md b/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/101-manticore.md
index f4cd346e7..58cdfcf5b 100644
--- a/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/101-manticore.md
+++ b/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/101-manticore.md
@@ -2,6 +2,5 @@
Manticore is a symbolic execution tool for analysis of smart contracts and binaries.
-{% resources %}
- {% Blog "https://manticore.readthedocs.io/", "Manticore Docs" %}
-{% endresources %}
+Free Content
+Manticore Docs
diff --git a/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/102-mythx.md b/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/102-mythx.md
index aab386b3a..5e73faa2c 100644
--- a/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/102-mythx.md
+++ b/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/102-mythx.md
@@ -2,7 +2,6 @@
MythX is a comprehensive smart contract security analysis tools developed by Consensys. It allows users to detect security vulnerabilities in Ethereum smart contracts throughout the development life cycle as well as analyze Solidity dapps for security holes and known smart contract vulnerabilities.
-{% resources %}
- {% Blog "https://mythx.io/", "MythX Official Site" %}
- {% Blog "https://docs.mythx.io/", "MythX Documentation" %}
-{% endresources %}
+Free Content
+MythX Official Site
+MythX Documentation
diff --git a/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/103-echidna.md b/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/103-echidna.md
index eaa4ea4e6..646c2a6bc 100644
--- a/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/103-echidna.md
+++ b/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/103-echidna.md
@@ -2,6 +2,5 @@
Echidna is a Haskell program designed for fuzzing/property-based testing of Ethereum smarts contracts. It uses sophisticated grammar-based fuzzing campaigns based on a contract ABI to falsify user-defined predicates or Solidity assertions.
-{% resources %}
- {% Blog "https://github.com/crytic/echidna/blob/master/README.md", "Echidna: A Fast Smart Contract Fuzzer" %}
-{% endresources %}
+Free Content
+Echidna: A Fast Smart Contract Fuzzer
diff --git a/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/index.md b/src/roadmaps/blockchain/content/105-blockchain-security/101-tools/readme.md
similarity index 100%
rename from src/roadmaps/blockchain/content/105-blockchain-security/101-tools/index.md
rename to src/roadmaps/blockchain/content/105-blockchain-security/101-tools/readme.md
diff --git a/src/roadmaps/blockchain/content/105-blockchain-security/index.md b/src/roadmaps/blockchain/content/105-blockchain-security/index.md
deleted file mode 100644
index 80a4b4a00..000000000
--- a/src/roadmaps/blockchain/content/105-blockchain-security/index.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Security
-
-Smart contracts are extremely flexible, capable of both holding large quantities of tokens (often in excess of $1B) and running immutable logic based on previously deployed smart contract code. While this has created a vibrant and creative ecosystem of trustless, interconnected smart contracts, it is also the perfect ecosystem to attract attackers looking to profit by exploiting vulnerabilities
-
-{% resources %}
- {% Blog "https://ethereum.org/en/developers/docs/smart-contracts/security/", "Smart Contract Security" %}
- {% Blog "https://consensys.net/blog/developers/ethereum-smart-contract-security-recommendations/", "Ethereum Smart Contract Security Recommendations" %}
-{% endresources %}
diff --git a/src/roadmaps/blockchain/content/105-blockchain-security/readme.md b/src/roadmaps/blockchain/content/105-blockchain-security/readme.md
new file mode 100644
index 000000000..fd8414859
--- /dev/null
+++ b/src/roadmaps/blockchain/content/105-blockchain-security/readme.md
@@ -0,0 +1,7 @@
+# Security
+
+Smart contracts are extremely flexible, capable of both holding large quantities of tokens (often in excess of $1B) and running immutable logic based on previously deployed smart contract code. While this has created a vibrant and creative ecosystem of trustless, interconnected smart contracts, it is also the perfect ecosystem to attract attackers looking to profit by exploiting vulnerabilities
+
+Free Content
+Smart Contract Security
+Ethereum Smart Contract Security Recommendations
diff --git a/src/roadmaps/blockchain/content/106-management-platforms/100-open-zeppelin.md b/src/roadmaps/blockchain/content/106-management-platforms/100-open-zeppelin.md
index 0eab684f5..74a663cd6 100644
--- a/src/roadmaps/blockchain/content/106-management-platforms/100-open-zeppelin.md
+++ b/src/roadmaps/blockchain/content/106-management-platforms/100-open-zeppelin.md
@@ -2,6 +2,5 @@
OpenZeppelin Contracts helps you minimize risk by using battle-tested libraries of smart contracts for Ethereum and other blockchains. It includes the most used implementations of ERC standards.
-{% resources %}
- {% Blog "https://docs.openzeppelin.com/contracts/", "OpenZeppelin Contracts" %}
-{% endresources %}
+Free Content
+OpenZeppelin Contracts
diff --git a/src/roadmaps/blockchain/content/106-management-platforms/index.md b/src/roadmaps/blockchain/content/106-management-platforms/readme.md
similarity index 100%
rename from src/roadmaps/blockchain/content/106-management-platforms/index.md
rename to src/roadmaps/blockchain/content/106-management-platforms/readme.md
diff --git a/src/roadmaps/blockchain/content/107-version-control-systems/100-git.md b/src/roadmaps/blockchain/content/107-version-control-systems/100-git.md
index 45eefee57..e6ec03032 100644
--- a/src/roadmaps/blockchain/content/107-version-control-systems/100-git.md
+++ b/src/roadmaps/blockchain/content/107-version-control-systems/100-git.md
@@ -2,9 +2,8 @@
[Git](https://git-scm.com/) is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=zbKdDsNNOhg", "Version Control System Introduction" %}
- {% Blog "https://www.youtube.com/watch?v=SWYqp7iY_Tc", "Git & GitHub Crash Course For Beginners" %}
- {% Blog "https://youtu.be/Y9XZQO1n_7c?t=21", "Learn Git in 20 Minutes" %}
- {% Course "https://github.com/jlord/git-it-electron", "Learn Git on the command line" %}
-{% endresources %}
+Free Content
+Version Control System Introduction
+Git & GitHub Crash Course For Beginners
+Learn Git in 20 Minutes
+Learn Git on the command line
diff --git a/src/roadmaps/blockchain/content/107-version-control-systems/index.md b/src/roadmaps/blockchain/content/107-version-control-systems/index.md
deleted file mode 100644
index 4104f0e7b..000000000
--- a/src/roadmaps/blockchain/content/107-version-control-systems/index.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Version Control Systems
-
-Version control/source control systems allow developers to track and control changes to code over time. These services often include the ability to make atomic revisions to code, branch/fork off of specific points, and to compare versions of code. They are useful in determining the who, what, when, and why code changes were made.
-
-{% resources %}
- {% Official "https://git-scm.com/", "Git" %}
- {% Official "https://www.mercurial-scm.org/", "Mercurial" %}
- {% Blog "https://www.atlassian.com/git/tutorials/what-is-version-control", "What is Version Control?" %}
-{% endresources %}
diff --git a/src/roadmaps/blockchain/content/107-version-control-systems/readme.md b/src/roadmaps/blockchain/content/107-version-control-systems/readme.md
new file mode 100644
index 000000000..5c44b2882
--- /dev/null
+++ b/src/roadmaps/blockchain/content/107-version-control-systems/readme.md
@@ -0,0 +1,8 @@
+# Version Control Systems
+
+Version control/source control systems allow developers to track and control changes to code over time. These services often include the ability to make atomic revisions to code, branch/fork off of specific points, and to compare versions of code. They are useful in determining the who, what, when, and why code changes were made.
+
+Free Content
+Git
+Mercurial
+What is Version Control?
diff --git a/src/roadmaps/blockchain/content/108-repo-hosting-services/100-github.md b/src/roadmaps/blockchain/content/108-repo-hosting-services/100-github.md
index be4dcf64b..789e6e65d 100644
--- a/src/roadmaps/blockchain/content/108-repo-hosting-services/100-github.md
+++ b/src/roadmaps/blockchain/content/108-repo-hosting-services/100-github.md
@@ -2,12 +2,12 @@
GitHub is a provider of Internet hosting for software development and version control using Git. It offers the distributed version control and source code management functionality of Git, plus its own features.
-{% resources %}
- {% Official "https://github.com", "GitHub Website" %}
- {% Official "https://docs.github.com/en/get-started/quickstart", "GitHub Documentation" %}
- {% Blog "https://www.youtube.com/watch?v=w3jLJU7DT5E", "What is GitHub?" %}
- {% Blog "https://www.youtube.com/watch?v=wpISo9TNjfU", "Git vs. GitHub: Whats the difference?" %}
- {% Blog "https://www.youtube.com/watch?v=RGOj5yH7evk", "Git and GitHub for Beginners" %}
- {% Blog "https://www.youtube.com/watch?v=eulnSXkhE7I", "Git and GitHub - CS50 Beyond 2019" %}
- {% Course "https://ooloo.io/project/github-flow", "How to Use Git in a Professional Dev Team" %}
-{% endresources %}
+Free Content
+
+GitHub Website
+GitHub Documentation
+What is GitHub?
+Git vs. GitHub: What's the difference?
+Git and GitHub for Beginners
+Git and GitHub - CS50 Beyond 2019
+How to Use Git in a Professional Dev Team
diff --git a/src/roadmaps/blockchain/content/108-repo-hosting-services/101-gitlab.md b/src/roadmaps/blockchain/content/108-repo-hosting-services/101-gitlab.md
index a3bc43043..ed8109bd6 100644
--- a/src/roadmaps/blockchain/content/108-repo-hosting-services/101-gitlab.md
+++ b/src/roadmaps/blockchain/content/108-repo-hosting-services/101-gitlab.md
@@ -2,7 +2,7 @@
GitLab is a provider of internet hosting for software development and version control using Git. It offers the distributed version control and source code management functionality of Git, plus its own features.
-{% resources %}
- {% Official "https://gitlab.com/", "GitLab Website" %}
- {% Official "https://docs.gitlab.com/", "GitLab Documentation" %}
-{% endresources %}
+Free Content
+
+GitLab Website
+GitLab Documentation
diff --git a/src/roadmaps/blockchain/content/108-repo-hosting-services/102-bitbucket.md b/src/roadmaps/blockchain/content/108-repo-hosting-services/102-bitbucket.md
index 0facc9ce8..e5de098c2 100644
--- a/src/roadmaps/blockchain/content/108-repo-hosting-services/102-bitbucket.md
+++ b/src/roadmaps/blockchain/content/108-repo-hosting-services/102-bitbucket.md
@@ -4,11 +4,10 @@ Bitbucket is a Git based hosting and source code repository service that is Atla
Bitbucket offers hosting options via Bitbucket Cloud (Atlassian's servers), Bitbucket Server (customer's on-premise) or Bitbucket Data Centre (number of servers in customers on-premise or cloud environment)
-{% resources %}
- {% Blog "https://bitbucket.org/product", "Bitbucket Website" %}
- {% Blog "https://bitbucket.org/product/guides/getting-started/overview#a-brief-overview-of-bitbucket", "A brief overview of Bitbucket" %}
- {% Blog "https://bitbucket.org/product/guides/basics/bitbucket-interface", "Getting started with Bitbucket" %}
- {% Blog "https://www.atlassian.com/git/tutorials/learn-git-with-bitbucket-cloud", "Using Git with Bitbucket Cloud" %}
- {% Blog "https://www.youtube.com/watch?v=M44nEyd_5To", "Bitbucket tutorial | How to use Bitbucket Cloud" %}
- {% Blog "https://www.youtube.com/watch?v=i5T-DB8tb4A", "Bitbucket Tutorial | Bitbucket for Beginners" %}
-{% endresources %}
+Free Content
+Bitbucket Website
+A brief overview of Bitbucket
+Getting started with Bitbucket
+Using Git with Bitbucket Cloud
+Bitbucket tutorial | How to use Bitbucket Cloud
+Bitbucket Tutorial | Bitbucket for Beginners
diff --git a/src/roadmaps/blockchain/content/108-repo-hosting-services/index.md b/src/roadmaps/blockchain/content/108-repo-hosting-services/index.md
deleted file mode 100644
index 9aa94ded6..000000000
--- a/src/roadmaps/blockchain/content/108-repo-hosting-services/index.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# Repo Hosting Services
-
-When working on a team, you often need a remote place to put your code so others can access it, create their own branches, and create or review pull requests. These services often include issue tracking, code review, and continuous integration features. A few popular choices are GitHub, GitLab, BitBucket, and AWS CodeCommit.
-
-{% resources %}
- {% Official "https://github.com/features/", "GitHub" %}
- {% Official "https://about.gitlab.com/", "GitLab" %}
- {% Official "https://bitbucket.org/product/guides/getting-started/overview", "BitBucket" %}
- {% Blog "https://bitbucket.org/product/code-repository", "How to choose the best source code repository" %}
-{% endresources %}
diff --git a/src/roadmaps/blockchain/content/108-repo-hosting-services/readme.md b/src/roadmaps/blockchain/content/108-repo-hosting-services/readme.md
new file mode 100644
index 000000000..574869a99
--- /dev/null
+++ b/src/roadmaps/blockchain/content/108-repo-hosting-services/readme.md
@@ -0,0 +1,9 @@
+# Repo Hosting Services
+
+When working on a team, you often need a remote place to put your code so others can access it, create their own branches, and create or review pull requests. These services often include issue tracking, code review, and continuous integration features. A few popular choices are GitHub, GitLab, BitBucket, and AWS CodeCommit.
+
+Free Content
+GitHub
+GitLab
+BitBucket
+How to choose the best source code repository
diff --git a/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/100-react.md b/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/100-react.md
index ce32b32f0..d02993635 100644
--- a/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/100-react.md
+++ b/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/100-react.md
@@ -1,14 +1,17 @@
-{% Roadmap "/react", "React" %}
+
# React
React is the most popular front-end JavaScript library for building user interfaces. React can also render on the server using Node and power mobile apps using React Native.
-{% resources %}
- {% Blog "https://reactjs.org/", "React Website" %}
- {% Blog "https://reactjs.org/tutorial/tutorial.html", "Official Getting Started" %}
- {% Course "https://egghead.io/courses/the-beginner-s-guide-to-react", "The Beginners Guide to React" %}
- {% Course "https://www.youtube.com/watch?v=nTeuhbP7wdE", "React JS Course for Beginners" %}
- {% Course "https://www.youtube.com/watch?v=bMknfKXIFA8", "React Course - Beginners Tutorial for React JavaScript Library [2022]" %}
- {% Blog "https://www.youtube.com/watch?v=i793Qm6kv3U", "Understanding Reacts UI Rendering Process" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+React Website
+Official Getting Started
+The Beginner's Guide to React
+React JS Course for Beginners
+React Course - Beginner's Tutorial for React JavaScript Library [2022]
+Understanding React's UI Rendering Process
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/101-angular.md b/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/101-angular.md
index 9b6d9e926..20b53f03f 100644
--- a/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/101-angular.md
+++ b/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/101-angular.md
@@ -1,9 +1,12 @@
-{% Roadmap "/angular", "Angular" %}
+
# Angular
Angular is a component based front-end development framework built on TypeScript which includes a collection of well-integrated libraries that include features like routing, forms management, client-server communication, and more.
-{% resources %}
- {% Blog "https://angular.io/start", "Official - Getting started with Angular" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+Official - Getting started with Angular
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/102-vue.md b/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/102-vue.md
index c2303ac5d..cb497cd89 100644
--- a/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/102-vue.md
+++ b/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/102-vue.md
@@ -1,12 +1,15 @@
-{% Roadmap "/vue", "Vue" %}
+
# Vue.js
Vue.js is an open-source JavaScript framework for building user interfaces and single-page applications. It is mainly focused on front end development.
-{% resources %}
- {% Blog "https://vuejs.org/", "Vue.js Website" %}
- {% Official "https://vuejs.org/v2/guide/", "Official Getting Started" %}
- {% Course "https://www.youtube.com/watch?v=FXpIoQ_rT_c", "Vue.js Course for Beginners" %}
- {% Course "https://www.youtube.com/watch?v=qZXt1Aom3Cs", "Vue.js Crash Course" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+Vue.js Website
+Official Getting Started
+Vue.js Course for Beginners
+Vue.js Crash Course
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/index.md b/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/index.md
deleted file mode 100644
index 78ec2f23e..000000000
--- a/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/index.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Frontend Frameworks
-
-Web frameworks are designed to write web applications. Frameworks are collections of libraries that aid in the development of a software product or website. Frameworks for web application development are collections of various tools. Frameworks vary in their capabilities and functions, depending on the tasks set. They define the structure, establish the rules, and provide the development tools required.
-
-{% resources %}
- {% Blog "https://moralis.io/web3-frontend-everything-you-need-to-learn-about-building-dapp-frontends/", "Web3 Frontend – Everything You Need to Learn About Building Dapp Frontends" %}
- {% Blog "https://www.youtube.com/watch?v=D_MO9vIRBcA", "What is the difference between a framework and a library?" %}
- {% Blog "https://www.youtube.com/watch?v=cuHDQhDhvPE", " Which JS Framework is best?" %}
-{% endresources %}
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/readme.md b/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/readme.md
new file mode 100644
index 000000000..9aa0b2bda
--- /dev/null
+++ b/src/roadmaps/blockchain/content/109-dapps/100-frontend-frameworks/readme.md
@@ -0,0 +1,8 @@
+# Frontend Frameworks
+
+Web frameworks are designed to write web applications. Frameworks are collections of libraries that aid in the development of a software product or website. Frameworks for web application development are collections of various tools. Frameworks vary in their capabilities and functions, depending on the tasks set. They define the structure, establish the rules, and provide the development tools required.
+
+Free Content
+Web3 Frontend – Everything You Need to Learn About Building Dapp Frontends
+What is the difference between a framework and a library?
+ Which JS Framework is best?
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/109-dapps/100-testing.md b/src/roadmaps/blockchain/content/109-dapps/100-testing.md
index 04360d660..dd16f56a3 100644
--- a/src/roadmaps/blockchain/content/109-dapps/100-testing.md
+++ b/src/roadmaps/blockchain/content/109-dapps/100-testing.md
@@ -4,8 +4,7 @@ A key to building software that meets requirements without defects is testing. S
Like traditional software, testing dApps involves testing the entire stack that makes up the dApp (backend, frontend, db, etc.).
-{% resources %}
- {% Blog "https://www.guru99.com/software-testing-introduction-importance.html", "What is Software Testing?" %}
- {% Blog "https://www.browserstack.com/guide/testing-pyramid-for-test-automation", "Testing Pyramid" %}
- {% Blog "https://rhian-is.medium.com/how-to-test-dapps-decentralized-applications-4662cf61db90", "How to test dApps (decentralized applications)" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+What is Software Testing?
+Testing Pyramid
+How to test dApps (decentralized applications)
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/109-dapps/101-deployment.md b/src/roadmaps/blockchain/content/109-dapps/101-deployment.md
index 6daf9ac58..9650b0172 100644
--- a/src/roadmaps/blockchain/content/109-dapps/101-deployment.md
+++ b/src/roadmaps/blockchain/content/109-dapps/101-deployment.md
@@ -2,7 +2,6 @@
Deploying a dApp involves deployment of all of its layers, generally through a management framework.
-{% resources %}
- {% Blog "https://www.moesif.com/blog/blockchain/ethereum/Tutorial-for-building-Ethereum-Dapp-with-Integrated-Error-Monitoring/", "Tutorial for building an Ethereum DApp with Integrated Web3 Monitoring" %}
- {% Blog "https://youtu.be/Wn_Kb3MR_cU", "Build and Deploy a Modern Web 3.0 Blockchain App" %}
-{% endresources %}
+Free Content
+Tutorial for building an Ethereum DApp with Integrated Web3 Monitoring
+Build and Deploy a Modern Web 3.0 Blockchain App
diff --git a/src/roadmaps/blockchain/content/109-dapps/103-architecture.md b/src/roadmaps/blockchain/content/109-dapps/103-architecture.md
index 8f6aad6e9..cfa3002ad 100644
--- a/src/roadmaps/blockchain/content/109-dapps/103-architecture.md
+++ b/src/roadmaps/blockchain/content/109-dapps/103-architecture.md
@@ -2,8 +2,7 @@
Unlike Web2 applications, in Web3 there’s no centralized database that stores the application state or user identity, and there’s no centralized web server where the backend logic resides.
-{% resources %}
- {% Blog "https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-application", "The Architecture of a Web 3.0 application" %}
- {% Blog "https://www.freecodecamp.org/news/how-to-design-a-secure-backend-for-your-decentralized-application-9541b5d8bddb/", "Decentralized Applications Architecture: Back End, Security and Design Patterns" %}
- {% Blog "https://youtu.be/KBSq8-LnUDI?t=286", "Blockchain Development: Dapp Architecture" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+The Architecture of a Web 3.0 application
+Decentralized Applications Architecture: Back End, Security and Design Patterns
+Blockchain Development: Dapp Architecture
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/109-dapps/104-security.md b/src/roadmaps/blockchain/content/109-dapps/104-security.md
index 4faf9d49f..a35c3974a 100644
--- a/src/roadmaps/blockchain/content/109-dapps/104-security.md
+++ b/src/roadmaps/blockchain/content/109-dapps/104-security.md
@@ -2,8 +2,7 @@
dApps face unique security challenges as they run on immutable blockchains. dApps are harder to maintain, and developers cannot modify or update their codes once deployed. Therefore, special consideration must be taken before putting it on the blockchain.
-{% resources %}
- {% Blog "https://github.com/Dexaran/DAPP-security-standards/blob/master/README.md", "DAPP Security Standards" %}
- {% Blog "https://livebook.manning.com/book/building-ethereum-dapps/chapter-14/", "dApp Security Considerations" %}
- {% Blog "https://www.immunebytes.com/blog/dapp-security/#Benefits_of_DApps_Security", "dApp Security:All You Need to Know" %}
-{% endresources %}
+Free Content
+DAPP Security Standards
+dApp Security Considerations
+dApp Security:All You Need to Know
diff --git a/src/roadmaps/blockchain/content/109-dapps/105-applicability/100-defi.md b/src/roadmaps/blockchain/content/109-dapps/105-applicability/100-defi.md
index 828117b3d..f74c13c10 100644
--- a/src/roadmaps/blockchain/content/109-dapps/105-applicability/100-defi.md
+++ b/src/roadmaps/blockchain/content/109-dapps/105-applicability/100-defi.md
@@ -2,8 +2,7 @@
Decentralized finance offers financial instruments without relying on intermediaries such as brokerages, exchanges, or banks by using smart contracts on a blockchain.
-{% resources %}
- {% Blog "https://www.investopedia.com/decentralized-finance-defi-5113835", "Decentralized Finance (DeFi) Definition" %}
- {% Blog "https://www.coinbase.com/learn/crypto-basics/what-is-defi", "What is DeFi?" %}
- {% Blog "https://www.youtube.com/watch?v=17QRFlml4pA", "What is DeFi? (Decentralized Finance Animated)" %}
-{% endresources %}
+Free Content
+Decentralized Finance (DeFi) Definition
+What is DeFi?
+What is DeFi? (Decentralized Finance Animated)
diff --git a/src/roadmaps/blockchain/content/109-dapps/105-applicability/101-daos.md b/src/roadmaps/blockchain/content/109-dapps/105-applicability/101-daos.md
index c077fe3df..1f5c39f7d 100644
--- a/src/roadmaps/blockchain/content/109-dapps/105-applicability/101-daos.md
+++ b/src/roadmaps/blockchain/content/109-dapps/105-applicability/101-daos.md
@@ -2,7 +2,6 @@
A decentralized autonomous organization (DAO) is an emerging form of legal structure. With no central governing body, every member within a DAO typically shares a common goal and attempt to act in the best interest of the entity. Popularized through cryptocurrency enthusiasts and blockchain technology, DAOs are used to make decisions in a bottoms-up management approach.
-{% resources %}
- {% Blog "https://consensys.net/blog/blockchain-explained/what-is-a-dao-and-how-do-they-work/", "What Is A DAO And How Do They Work?" %}
- {% Blog "https://www.investopedia.com/tech/what-dao/", "Decentralized Autonomous Organization (DAO)" %}
-{% endresources %}
+Free Content
+What Is A DAO And How Do They Work?
+Decentralized Autonomous Organization (DAO)
diff --git a/src/roadmaps/blockchain/content/109-dapps/105-applicability/102-nfts.md b/src/roadmaps/blockchain/content/109-dapps/105-applicability/102-nfts.md
index 79bb7ac87..7b85154bc 100644
--- a/src/roadmaps/blockchain/content/109-dapps/105-applicability/102-nfts.md
+++ b/src/roadmaps/blockchain/content/109-dapps/105-applicability/102-nfts.md
@@ -2,8 +2,7 @@
A non-fungible token (NFT) is a financial security consisting of digital data stored in a blockchain, a form of distributed ledger. The ownership of an NFT is recorded in the blockchain, and can be transferred by the owner, allowing NFTs to be sold and traded.
-{% resources %}
- {% Blog "https://www.investopedia.com/non-fungible-tokens-nft-5115211", "Non-Fungible Token (NFT)" %}
- {% Blog "https://www.theverge.com/22310188/nft-explainer-what-is-blockchain-crypto-art-faq", "NFTs, explained" %}
- {% Blog "https://youtu.be/NNQLJcJEzv0", "NFT Explained In 5 Minutes | What Is NFT? - Non Fungible Token" %}
-{% endresources %}
+Free Content
+Non-Fungible Token (NFT)
+NFTs, explained
+NFT Explained In 5 Minutes | What Is NFT? - Non Fungible Token
diff --git a/src/roadmaps/blockchain/content/109-dapps/105-applicability/103-payments.md b/src/roadmaps/blockchain/content/109-dapps/105-applicability/103-payments.md
index 05576b1e8..6c31cd7ae 100644
--- a/src/roadmaps/blockchain/content/109-dapps/105-applicability/103-payments.md
+++ b/src/roadmaps/blockchain/content/109-dapps/105-applicability/103-payments.md
@@ -2,7 +2,6 @@
Blockchain technology has the ability to eliminate all the tolls exacted by centralized organization when transferring payments.
-{% resources %}
- {% Blog "https://consensys.net/blockchain-use-cases/finance/#payments", "How does blockchain impact global payments and remittances?" %}
- {% Blog "https://blog.chain.link/smart-contract-use-cases/#external-payments", "Smart Contract Use Cases - Payments" %}
-{% endresources %}
+Free Content
+How does blockchain impact global payments and remittances?
+Smart Contract Use Cases - Payments
diff --git a/src/roadmaps/blockchain/content/109-dapps/105-applicability/104-insurance.md b/src/roadmaps/blockchain/content/109-dapps/105-applicability/104-insurance.md
index 61c696dcb..30bd8f24f 100644
--- a/src/roadmaps/blockchain/content/109-dapps/105-applicability/104-insurance.md
+++ b/src/roadmaps/blockchain/content/109-dapps/105-applicability/104-insurance.md
@@ -2,7 +2,6 @@
Blockchain technology has the ability to automate claims functions by verifying real-world data through the use of an oracle. It also automates payments between parties for claims and thus lower administrative costs for insurance companies.
-{% resources %}
- {% Blog "https://blog.chain.link/smart-contract-use-cases/#insurance", "Smart Contract Use Cases - Insurance" %}
- {% Blog "https://imaginovation.net/blog/blockchain-insurance-industry-examples/", "Top 7 Use Cases of Blockchain in the Insurance Industry" %}
-{% endresources %}
+Free Content
+Smart Contract Use Cases - Insurance
+Top 7 Use Cases of Blockchain in the Insurance Industry
diff --git a/src/roadmaps/blockchain/content/109-dapps/105-applicability/index.md b/src/roadmaps/blockchain/content/109-dapps/105-applicability/index.md
deleted file mode 100644
index 674f93bea..000000000
--- a/src/roadmaps/blockchain/content/109-dapps/105-applicability/index.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Applicability
-
-dApps can be used for just about anything that requires two or more parties to agree on something. When the appropriate conditions are met, the smart contract will execute automatically. An important differentiation is that these transactions are no longer based on trust but they are rather based on cryptographically-backed smart contracts.
-
-{% resources %}
- {% Blog "https://www.sofi.com/learn/content/what-is-a-dapp/", "What Is a dApp? A Guide to Decentralized Applications" %}
- {% Blog "https://consensys.net/blockchain-use-cases/", "Blockchain Use Cases and Applications by Industry" %}
- {% Blog "https://roboticsandautomationnews.com/2022/05/20/the-real-world-use-cases-for-blockchain-technology/", "The real-world use cases for blockchain technology" %}
-{% endresources %}
diff --git a/src/roadmaps/blockchain/content/109-dapps/105-applicability/readme.md b/src/roadmaps/blockchain/content/109-dapps/105-applicability/readme.md
new file mode 100644
index 000000000..bb3ccf49c
--- /dev/null
+++ b/src/roadmaps/blockchain/content/109-dapps/105-applicability/readme.md
@@ -0,0 +1,8 @@
+# Applicability
+
+dApps can be used for just about anything that requires two or more parties to agree on something. When the appropriate conditions are met, the smart contract will execute automatically. An important differentiation is that these transactions are no longer based on trust but they are rather based on cryptographically-backed smart contracts.
+
+Free Content
+What Is a dApp? A Guide to Decentralized Applications
+Blockchain Use Cases and Applications by Industry
+The real-world use cases for blockchain technology
diff --git a/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/100-alchemy.md b/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/100-alchemy.md
index 7bb15b9e9..bc392ea67 100644
--- a/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/100-alchemy.md
+++ b/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/100-alchemy.md
@@ -2,6 +2,5 @@
Alchemy is a developer platform that empowers companies to build scalable and reliable decentralized applications without the hassle of managing blockchain infrastructure in-house.
-{% resources %}
- {% Blog "https://www.alchemy.com/", "Alchemy official site" %}
-{% endresources %}
+Free Content
+Alchemy official site
diff --git a/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/101-infura.md b/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/101-infura.md
index 9cea612d0..d6ebfe692 100644
--- a/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/101-infura.md
+++ b/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/101-infura.md
@@ -2,6 +2,5 @@
Infura provides the tools and infrastructure that allow developers to easily take their blockchain application from testing to scaled deployment - with simple, reliable access to Ethereum and IPFS.
-{% resources %}
- {% Blog "https://infura.io/", "Infura official site" %}
-{% endresources %}
+Free Content
+Infura official site
diff --git a/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/102-moralis.md b/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/102-moralis.md
index d00db7e5a..acd611f36 100644
--- a/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/102-moralis.md
+++ b/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/102-moralis.md
@@ -2,6 +2,5 @@
Moralis provides a single workflow for building high performance dapps. Fully compatible with your favorite web3 tools and services.
-{% resources %}
- {% Blog "https://moralis.io/", "Moralis official site" %}
-{% endresources %}
+Free Content
+Moralis official site
diff --git a/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/103-quicknode.md b/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/103-quicknode.md
index 31806eaa3..290f739e2 100644
--- a/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/103-quicknode.md
+++ b/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/103-quicknode.md
@@ -2,6 +2,5 @@
QuickNode is a Web3 developer platform used to build and scale blockchain applications.
-{% resources %}
- {% Blog "https://www.quicknode.com/", "Quicknode official site" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+Quicknode official site
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/index.md b/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/index.md
deleted file mode 100644
index 639c59a80..000000000
--- a/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/index.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Node as a Service (NaaS)
-
-Running your own blockchain node can be challenging, especially when getting started or while scaling fast. There are a number of services that run optimized node infrastructures for you, so you can focus on developing your application or product instead.
-
-{% resources %}
- {% Blog "https://www.infoq.com/articles/blockchain-as-a-service-get-block/", "Blockchain Node Providers and How They Work" %}
- {% Blog "https://ethereum.org/en/developers/docs/nodes-and-clients/nodes-as-a-service/", "Node as a Service - Ethereum" %}
-{% endresources %}
diff --git a/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/readme.md b/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/readme.md
new file mode 100644
index 000000000..8d3f5dab6
--- /dev/null
+++ b/src/roadmaps/blockchain/content/109-dapps/106-node-as-a-service/readme.md
@@ -0,0 +1,7 @@
+# Node as a Service (NaaS)
+
+Running your own blockchain node can be challenging, especially when getting started or while scaling fast. There are a number of services that run optimized node infrastructures for you, so you can focus on developing your application or product instead.
+
+Free Content
+Blockchain Node Providers and How They Work
+Node as a Service - Ethereum
diff --git a/src/roadmaps/blockchain/content/109-dapps/107-supporting-languages/100-javascript.md b/src/roadmaps/blockchain/content/109-dapps/107-supporting-languages/100-javascript.md
index d36be3b51..113919843 100644
--- a/src/roadmaps/blockchain/content/109-dapps/107-supporting-languages/100-javascript.md
+++ b/src/roadmaps/blockchain/content/109-dapps/107-supporting-languages/100-javascript.md
@@ -2,13 +2,14 @@
JavaScript, often abbreviated JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. It lets us add interactivity to pages e.g. you might have seen sliders, alerts, click interactions, and popups etc on different websites -- all of that is built using JavaScript. Apart from being used in the browser, it is also used in other non-browser environments as well such as Node.js for writing server-side code in JavaScript, Electron for writing desktop applications, React Native for mobile applications and so on.
-{% resources %}
- {% Blog "https://www.w3schools.com/js/", "W3Schools – JavaScript Tutorial" %}
- {% Blog "https://javascript.info/", "The Modern JavaScript Tutorial" %}
- {% Blog "https://eloquentjavascript.net/", "Eloquent Javascript - Book" %}
- {% Blog "https://github.com/getify/You-Dont-Know-JS", "You Dont Know JS Yet (book series) " %}
- {% Blog "https://youtu.be/hdI2bqOjy3c", "JavaScript Crash Course for Beginners" %}
- {% Blog "https://www.youtube.com/watch?v=fBNz5xF-Kx4", "Node.js Crash Course" %}
- {% Blog "https://www.youtube.com/watch?v=TlB_eWDSMt4", "Node.js Tutorial for Beginners" %}
- {% Course "https://www.codecademy.com/learn/introduction-to-javascript", "Codecademy - Learn JavaScript" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+
+W3Schools – JavaScript Tutorial
+The Modern JavaScript Tutorial
+Eloquent Javascript - Book
+You Don't Know JS Yet (book series)
+JavaScript Crash Course for Beginners
+
+Node.js Crash Course
+Node.js Tutorial for Beginners
+Codecademy - Learn JavaScript
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/109-dapps/107-supporting-languages/101-python.md b/src/roadmaps/blockchain/content/109-dapps/107-supporting-languages/101-python.md
index 3563722e0..022ce13c0 100644
--- a/src/roadmaps/blockchain/content/109-dapps/107-supporting-languages/101-python.md
+++ b/src/roadmaps/blockchain/content/109-dapps/107-supporting-languages/101-python.md
@@ -1,14 +1,17 @@
-{% Roadmap "/python", "Python" %}
+
# Python
Python is a well known programming language which is both a strongly typed and a dynamically typed language. Being an interpreted language, code is executed as soon as it is written and the Python syntax allows for writing code in functional, procedural or object-oriented programmatic ways.
-{% resources %}
- {% Blog "https://www.python.org/", "Python Website" %}
- {% Blog "https://www.python.org/about/gettingstarted/", "Python Getting Started" %}
- {% Course "https://www.w3schools.com/python/", "W3Schools - Python Tutorial " %}
- {% Course "https://ehmatthes.github.io/pcc/", "Python Crash Course" %}
- {% Blog "https://automatetheboringstuff.com/", "Automate the Boring Stuff" %}
- {% Course "https://www.codecademy.com/learn/learn-python", "Codecademy - Learn Python 2" %}
-{% endresources %}
+Free Content
+Python Website
+Python Getting Started
+W3Schools - Python Tutorial
+Python Crash Course
+Automate the Boring Stuff
+Codecademy - Learn Python 2
diff --git a/src/roadmaps/blockchain/content/109-dapps/107-supporting-languages/102-go.md b/src/roadmaps/blockchain/content/109-dapps/107-supporting-languages/102-go.md
index b1e99b582..8b1f48695 100644
--- a/src/roadmaps/blockchain/content/109-dapps/107-supporting-languages/102-go.md
+++ b/src/roadmaps/blockchain/content/109-dapps/107-supporting-languages/102-go.md
@@ -1,14 +1,17 @@
-{% Roadmap "/golang", "Go" %}
+
# Go
Go is an open source programming language supported by Google. Go can be used to write cloud services, CLI tools, used for API development, and much more.
-{% resources %}
- {% Blog "https://go.dev/tour/welcome/1", "A Tour of Go – Go Basics" %}
- {% Blog "https://go.dev/doc/", "Go Reference Documentation" %}
- {% Blog "https://gobyexample.com/", "Go by Example - annotated example programs" %}
- {% Course "https://www.codecademy.com/learn/learn-go", "Learn Go | Codecademy" %}
- {% Course "https://www.w3schools.com/go/", "W3Schools Go Tutorial " %}
-{% endresources %}
\ No newline at end of file
+Free Content
+A Tour of Go – Go Basics
+Go Reference Documentation
+Go by Example - annotated example programs
+Learn Go | Codecademy
+W3Schools Go Tutorial
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/109-dapps/107-supporting-languages/index.md b/src/roadmaps/blockchain/content/109-dapps/107-supporting-languages/readme.md
similarity index 100%
rename from src/roadmaps/blockchain/content/109-dapps/107-supporting-languages/index.md
rename to src/roadmaps/blockchain/content/109-dapps/107-supporting-languages/readme.md
diff --git a/src/roadmaps/blockchain/content/109-dapps/108-client-libraries/100-ethers-js.md b/src/roadmaps/blockchain/content/109-dapps/108-client-libraries/100-ethers-js.md
index 3d5692e0a..18e08cb9f 100644
--- a/src/roadmaps/blockchain/content/109-dapps/108-client-libraries/100-ethers-js.md
+++ b/src/roadmaps/blockchain/content/109-dapps/108-client-libraries/100-ethers-js.md
@@ -2,6 +2,5 @@
The ethers.js library aims to be a complete and compact library for interacting with the Ethereum Blockchain and its ecosystem. It was originally designed for use with ethers.io and has since expanded into a more general-purpose library.
-{% resources %}
- {% Blog "https://docs.ethers.io/", "Ethers.js Documentation" %}
-{% endresources %}
+Free Content
+Ethers.js Documentation
diff --git a/src/roadmaps/blockchain/content/109-dapps/108-client-libraries/101-web3-js.md b/src/roadmaps/blockchain/content/109-dapps/108-client-libraries/101-web3-js.md
index 4304c9cca..8a870ade0 100644
--- a/src/roadmaps/blockchain/content/109-dapps/108-client-libraries/101-web3-js.md
+++ b/src/roadmaps/blockchain/content/109-dapps/108-client-libraries/101-web3-js.md
@@ -2,6 +2,5 @@
web3.js is a collection of libraries that allow you to interact with a local or remote ethereum node using HTTP, IPC or WebSocket.
-{% resources %}
- {% Blog "https://web3js.readthedocs.io/", "web3.js Documentation" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+web3.js Documentation
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/109-dapps/108-client-libraries/102-moralis.md b/src/roadmaps/blockchain/content/109-dapps/108-client-libraries/102-moralis.md
index c0d48e930..b55c2e433 100644
--- a/src/roadmaps/blockchain/content/109-dapps/108-client-libraries/102-moralis.md
+++ b/src/roadmaps/blockchain/content/109-dapps/108-client-libraries/102-moralis.md
@@ -2,6 +2,5 @@
A library that gives you access to the powerful Moralis Server backend from your JavaScript app.
-{% resources %}
- {% Blog "https://github.com/MoralisWeb3/Moralis-JS-SDK/blob/main/README.md", "Moralis SDK" %}
-{% endresources %}
+Free Content
+Moralis SDK
diff --git a/src/roadmaps/blockchain/content/109-dapps/108-client-libraries/index.md b/src/roadmaps/blockchain/content/109-dapps/108-client-libraries/readme.md
similarity index 100%
rename from src/roadmaps/blockchain/content/109-dapps/108-client-libraries/index.md
rename to src/roadmaps/blockchain/content/109-dapps/108-client-libraries/readme.md
diff --git a/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/100-geth.md b/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/100-geth.md
index 1dbea8073..a26e54c6f 100644
--- a/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/100-geth.md
+++ b/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/100-geth.md
@@ -2,6 +2,5 @@
Go Ethereum (Geth) is one of the three original implementations (along with C++ and Python) of the Ethereum protocol. It is written in Go, fully open source and licensed under the GNU LGPL v3.
-{% resources %}
- {% Blog "https://geth.ethereum.org/docs/", "Geth Documentation" %}
-{% endresources %}
+Free Content
+Geth Documentation
diff --git a/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/101-besu.md b/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/101-besu.md
index fadc0465a..4dc46c9a2 100644
--- a/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/101-besu.md
+++ b/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/101-besu.md
@@ -2,6 +2,5 @@
Besu is an Apache 2.0 licensed, MainNet compatible, Ethereum client written in Java.
-{% resources %}
- {% Blog "https://github.com/hyperledger/besu", "Besu Ethereum Client" %}
-{% endresources %}
+Free Content
+Besu Ethereum Client
diff --git a/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/102-nethermind.md b/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/102-nethermind.md
index b980c4979..cc8c03b43 100644
--- a/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/102-nethermind.md
+++ b/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/102-nethermind.md
@@ -2,6 +2,5 @@
Nethermind is a high-performance, highly configurable full Ethereum protocol client built on .NET that runs on Linux, Windows, and macOS, and supports Clique, Aura, Ethash, and Proof-of-Stake consensus algorithms.
-{% resources %}
- {% Blog "https://docs.nethermind.io/nethermind/", "Nethermind Documentation" %}
-{% endresources %}
+Free Content
+Nethermind Documentation
diff --git a/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/103-substrate.md b/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/103-substrate.md
index 0b51ff86a..86e514381 100644
--- a/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/103-substrate.md
+++ b/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/103-substrate.md
@@ -2,6 +2,5 @@
Substrate is a Software Development Kit (SDK) specifically designed to provide you with all of the fundamental components s blockchain requires so you can focus on crafting the logic that makes your chain unique and innovative.
-{% resources %}
- {% Blog "https://docs.substrate.io/quick-start/", "Substrate Documentation" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+Substrate Documentation
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/index.md b/src/roadmaps/blockchain/content/109-dapps/109-client-nodes/readme.md
similarity index 100%
rename from src/roadmaps/blockchain/content/109-dapps/109-client-nodes/index.md
rename to src/roadmaps/blockchain/content/109-dapps/109-client-nodes/readme.md
diff --git a/src/roadmaps/blockchain/content/109-dapps/index.md b/src/roadmaps/blockchain/content/109-dapps/index.md
deleted file mode 100644
index db9f02e92..000000000
--- a/src/roadmaps/blockchain/content/109-dapps/index.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# dApps
-
-A decentralised application (dApp) is an application that can operate autonomously, through the use of smart contracts that run on a blockchain. Like traditional applications, dApps provide some function or utility to its users.
-
-{% resources %}
- {% Blog "https://ethereum.org/en/developers/docs/dapps/", "Introduction to dApps" %}
- {% Blog "https://www.coindesk.com/learn/what-is-a-dapp-decentralized-apps-explained/", "What Is a Dapp? Decentralized Apps Explained" %}
-{% endresources %}
diff --git a/src/roadmaps/blockchain/content/109-dapps/readme.md b/src/roadmaps/blockchain/content/109-dapps/readme.md
new file mode 100644
index 000000000..7ab1a1d04
--- /dev/null
+++ b/src/roadmaps/blockchain/content/109-dapps/readme.md
@@ -0,0 +1,7 @@
+# dApps
+
+A decentralised application (dApp) is an application that can operate autonomously, through the use of smart contracts that run on a blockchain. Like traditional applications, dApps provide some function or utility to its users.
+
+Free Content
+Introduction to dApps
+What Is a Dapp? Decentralized Apps Explained
diff --git a/src/roadmaps/blockchain/content/110-building-for-scale/100-state-and-payment-channels.md b/src/roadmaps/blockchain/content/110-building-for-scale/100-state-and-payment-channels.md
index 4d116d9f3..9856b2e2a 100644
--- a/src/roadmaps/blockchain/content/110-building-for-scale/100-state-and-payment-channels.md
+++ b/src/roadmaps/blockchain/content/110-building-for-scale/100-state-and-payment-channels.md
@@ -2,7 +2,6 @@
State channels refer to the process in which users transact with one another directly outside of the blockchain, or ‘off-chain,’ and greatly minimize their use of ‘on-chain’ operations.
-{% resources %}
- {% Blog "https://education.district0x.io/general-topics/understanding-ethereum/basics-state-channels/", "The Basics of State Channels" %}
- {% Blog "https://www.talentica.com/blogs/state-channels-an-introduction-to-off-chain-transactions/", "State Channels: An Introduction to Off-chain Transactions" %}
-{% endresources %}
+Free Content
+The Basics of State Channels
+State Channels: An Introduction to Off-chain Transactions
diff --git a/src/roadmaps/blockchain/content/110-building-for-scale/101-optimistic-rollups-and-fraud-proofs.md b/src/roadmaps/blockchain/content/110-building-for-scale/101-optimistic-rollups-and-fraud-proofs.md
index bf429c766..f3cb313b5 100644
--- a/src/roadmaps/blockchain/content/110-building-for-scale/101-optimistic-rollups-and-fraud-proofs.md
+++ b/src/roadmaps/blockchain/content/110-building-for-scale/101-optimistic-rollups-and-fraud-proofs.md
@@ -4,6 +4,5 @@
Optimistic rollups allow anyone to publish blocks without providing proofs of validity. However, to ensure the chain remains safe, optimistic rollups specify a time window during which anyone can dispute a state transition.
-{% resources %}
- {% Blog "https://www.alchemy.com/overviews/optimistic-rollups", "How Do Optimistic Rollups Work (The Complete Guide)" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+How Do Optimistic Rollups Work (The Complete Guide)
\ No newline at end of file
diff --git a/src/roadmaps/blockchain/content/110-building-for-scale/102-zero-knowledge-rollups-and-zero-knowledge-proof.md b/src/roadmaps/blockchain/content/110-building-for-scale/102-zero-knowledge-rollups-and-zero-knowledge-proof.md
index 7938c3ccf..0b74b8d01 100644
--- a/src/roadmaps/blockchain/content/110-building-for-scale/102-zero-knowledge-rollups-and-zero-knowledge-proof.md
+++ b/src/roadmaps/blockchain/content/110-building-for-scale/102-zero-knowledge-rollups-and-zero-knowledge-proof.md
@@ -2,6 +2,7 @@
Zero-knowledge rollups (ZK-rollups) are layer 2 scaling solutions that increase the throughput of a blockchain by moving computation and state-storage off-chain.
-{% resources %}
- {% Blog "https://ethereum.org/en/developers/docs/scaling/zk-rollups", "Zero-Knowledge Rollups - Ethereum" %}
-{% endresources %}
+Free Content
+Zero-Knowledge Rollups - Ethereum
+What are Zero-Knowledge Rollups (ZK-rollups)?
+
diff --git a/src/roadmaps/blockchain/content/110-building-for-scale/103-validium.md b/src/roadmaps/blockchain/content/110-building-for-scale/103-validium.md
index f174e6947..62d51009c 100644
--- a/src/roadmaps/blockchain/content/110-building-for-scale/103-validium.md
+++ b/src/roadmaps/blockchain/content/110-building-for-scale/103-validium.md
@@ -2,6 +2,5 @@
Validium is a scaling solution that enforces integrity of transactions using validity proofs like ZK-rollups, but doesn’t store transaction data on the Ethereum Mainnet. While off-chain data availability introduces trade-offs, it can lead to massive improvements in scalability
-{% resources %}
- {% Blog "https://ethereum.org/en/developers/docs/scaling/validium/", "Validium - Ethereum" %}
-{% endresources %}
+Free Content
+Validium - Ethereum
diff --git a/src/roadmaps/blockchain/content/110-building-for-scale/104-plasma.md b/src/roadmaps/blockchain/content/110-building-for-scale/104-plasma.md
index efcc6457f..fe2b79c58 100644
--- a/src/roadmaps/blockchain/content/110-building-for-scale/104-plasma.md
+++ b/src/roadmaps/blockchain/content/110-building-for-scale/104-plasma.md
@@ -2,6 +2,5 @@
Plasma is a framework that allows the creation of child blockchains that use the main Ethereum chain as a layer of trust and arbitration. In Plasma, child chains can be designed to meet the requirements of specific use cases, specifically those that are not currently feasible on Ethereum.
-{% resources %}
- {% Blog "https://ethereum.org/en/developers/docs/scaling/plasma/", "Plasma Chains - Ethereum" %}
-{% endresources %}
+Free Content
+Plasma Chains - Ethereum
diff --git a/src/roadmaps/blockchain/content/110-building-for-scale/105-sidechains.md b/src/roadmaps/blockchain/content/110-building-for-scale/105-sidechains.md
index d35423b82..b0cbe8f54 100644
--- a/src/roadmaps/blockchain/content/110-building-for-scale/105-sidechains.md
+++ b/src/roadmaps/blockchain/content/110-building-for-scale/105-sidechains.md
@@ -2,7 +2,6 @@
A sidechain is a separate blockchain network that connects to another blockchain – called a parent blockchain or mainnet – via a two-way peg.
-{% resources %}
- {% Blog "https://ethereum.org/en/developers/docs/scaling/sidechains/", "Sidechains - Ethereum" %}
- {% Blog "https://www.coindesk.com/learn/an-introduction-to-sidechains", "An Introduction to Sidechains" %}
-{% endresources %}
+Free Content
+Sidechains - Ethereum
+An Introduction to Sidechains
diff --git a/src/roadmaps/blockchain/content/110-building-for-scale/106-ethereum-2.md b/src/roadmaps/blockchain/content/110-building-for-scale/106-ethereum-2.md
index 1cbec6383..fb2b11482 100644
--- a/src/roadmaps/blockchain/content/110-building-for-scale/106-ethereum-2.md
+++ b/src/roadmaps/blockchain/content/110-building-for-scale/106-ethereum-2.md
@@ -2,7 +2,6 @@
Ethereum 2.0 marks a long-anticipated upgrade to the Ethereum public mainnet. Designed to accelerate Ethereum’s usage and adoption by improving its performance, Ethereum 2.0 implements Proof of Stake.
-{% resources %}
- {% Blog "https://consensys.net/blog/blockchain-explained/what-is-ethereum-2/", "What Is Ethereum 2.0?" %}
- {% Blog "https://www.forbes.com/advisor/investing/cryptocurrency/ethereum-2/", "What Is Ethereum 2.0? Understanding The Merge" %}
-{% endresources %}
+Free Content
+What Is Ethereum 2.0?
+What Is Ethereum 2.0? Understanding The Merge
diff --git a/src/roadmaps/blockchain/content/110-building-for-scale/107-on-chain-scaling.md b/src/roadmaps/blockchain/content/110-building-for-scale/107-on-chain-scaling.md
index d73bc8300..94d342eaf 100644
--- a/src/roadmaps/blockchain/content/110-building-for-scale/107-on-chain-scaling.md
+++ b/src/roadmaps/blockchain/content/110-building-for-scale/107-on-chain-scaling.md
@@ -2,6 +2,5 @@
On-chain scaling refers to any direct modification made to a blockchain, like data sharding and execution sharding in the incoming version of Ethereum 2.0. Another type of on-chain scaling would be a sidechain with two-way bridge to Ethereum, like Polygon.
-{% resources %}
- {% Blog "https://ethereum.org/en/developers/docs/scaling/", "Scaling - Ethereum" %}
-{% endresources %}
+Free Content
+Scaling - Ethereum
diff --git a/src/roadmaps/blockchain/content/110-building-for-scale/index.md b/src/roadmaps/blockchain/content/110-building-for-scale/readme.md
similarity index 100%
rename from src/roadmaps/blockchain/content/110-building-for-scale/index.md
rename to src/roadmaps/blockchain/content/110-building-for-scale/readme.md
diff --git a/src/roadmaps/blockchain/content/readme.md b/src/roadmaps/blockchain/content/readme.md
new file mode 100644
index 000000000..4e768b56d
--- /dev/null
+++ b/src/roadmaps/blockchain/content/readme.md
@@ -0,0 +1 @@
+#
\ No newline at end of file
diff --git a/src/roadmaps/computer-science/computer-science.md b/src/roadmaps/computer-science/computer-science.md
index 2f6a919c9..f74d686dd 100644
--- a/src/roadmaps/computer-science/computer-science.md
+++ b/src/roadmaps/computer-science/computer-science.md
@@ -1,5 +1,4 @@
---
-jsonUrl: "/jsons/computer-science.json"
pdfUrl: "/pdfs/computer-science.pdf"
order: 1
featuredTitle: "Computer Science"
diff --git a/src/roadmaps/computer-science/content/101-pick-a-language/100-c-plus-plus.md b/src/roadmaps/computer-science/content/101-pick-a-language/100-c-plus-plus.md
index cc04816f8..55eca784b 100644
--- a/src/roadmaps/computer-science/content/101-pick-a-language/100-c-plus-plus.md
+++ b/src/roadmaps/computer-science/content/101-pick-a-language/100-c-plus-plus.md
@@ -2,7 +2,6 @@
C++ is a powerful general-purpose programming language. It can be used to develop operating systems, browsers, games, and so on. C++ supports different ways of programming like procedural, object-oriented, functional, and so on. This makes C++ powerful as well as flexible.
-{% resources %}
- {% Blog "https://learncpp.com/", "Learn Cpp" %}
- {% Blog "https://en.cppreference.com/", "C++ Reference" %}
-{% endresources %}
+Free Content
+Learn Cpp
+C++ Reference
diff --git a/src/roadmaps/computer-science/content/101-pick-a-language/101-c.md b/src/roadmaps/computer-science/content/101-pick-a-language/101-c.md
index 9e55abce3..805d012ad 100644
--- a/src/roadmaps/computer-science/content/101-pick-a-language/101-c.md
+++ b/src/roadmaps/computer-science/content/101-pick-a-language/101-c.md
@@ -2,9 +2,7 @@
C is a general-purpose computer programming language. It was created in the 1970s by Dennis Ritchie, and remains very widely used and influential. By design, C's features cleanly reflect the capabilities of the targeted CPUs.
-{% resources %}
- {% Blog "https://www.w3schools.com/c/", "Learn C - W3Schools" %}
- {% Blog "https://www.tutorialspoint.com/cprogramming/index.htm", "Learn C - Tutorials Point" %}
- {% Blog "https://www.youtube.com/watch?v=KJgsSFOSQv0", "C Programming Tutorial for Beginners" %}
- {% Blog "https://www.youtube.com/watch?v=j-_s8f5K30I", "Learn C Programming with Dr. Chuck" %}
-{% endresources %}
+Learn C - W3Schools
+Learn C - Tutorials Point
+C Programming Tutorial for Beginners
+Learn C Programming with Dr. Chuck
diff --git a/src/roadmaps/computer-science/content/101-pick-a-language/102-java.md b/src/roadmaps/computer-science/content/101-pick-a-language/102-java.md
index 7eaa324c0..bf4c6750a 100644
--- a/src/roadmaps/computer-science/content/101-pick-a-language/102-java.md
+++ b/src/roadmaps/computer-science/content/101-pick-a-language/102-java.md
@@ -1,13 +1,16 @@
-{% Roadmap "/java", "Java" %}
+
# Java
Java is general-purpose language, primarily used for Internet-based applications.
It was created in 1995 by James Gosling at Sun Microsystems and is one of the most popular options for backend developers.
-{% resources %}
- {% Official "https://www.java.com/", "Java Website" %}
- {% Blog "https://www.codecademy.com/learn/learn-java", "Codeacademy - Free Course" %}
- {% Blog "https://www.w3schools.com/java/", "W3 Schools Tutorials" %}
- {% Blog "https://www.youtube.com/watch?v=eIrMbAQSU34", "Java Crash Course" %}
-{% endresources %}
+Free Content
+Java Website
+Codeacademy - Free Course
+W3 Schools Tutorials
+Java Crash Course
diff --git a/src/roadmaps/computer-science/content/101-pick-a-language/103-python.md b/src/roadmaps/computer-science/content/101-pick-a-language/103-python.md
index 1d4d8a591..47179847a 100644
--- a/src/roadmaps/computer-science/content/101-pick-a-language/103-python.md
+++ b/src/roadmaps/computer-science/content/101-pick-a-language/103-python.md
@@ -1,18 +1,21 @@
-{% Roadmap "/python", "Python" %}
+
# Python
Python is a well known programming language which is both a strongly typed and a dynamically typed language. Being an interpreted language, code is executed as soon as it is written and the Python syntax allows for writing code in functional, procedural or object-oriented programmatic ways.
-{% resources %}
- {% Official "https://www.python.org/", "Python Website" %}
- {% Blog "https://www.python.org/about/gettingstarted/", "Python Getting Started" %}
- {% Blog "https://automatetheboringstuff.com/", "Automate the Boring Stuff" %}
- {% Blog "https://www.freecodecamp.org/news/how-to-learn-python/", "FreeCodeCamp.org - How to Learn Python ? " %}
- {% Course "https://pythonprinciples.com/", "Python principles - Python basics" %}
- {% Course "https://www.w3schools.com/python/", "W3Schools - Python Tutorial " %}
- {% Course "https://ehmatthes.github.io/pcc/", "Python Crash Course" %}
- {% Course "https://www.codecademy.com/learn/learn-python", "Codecademy - Learn Python 2" %}
- {% Blog "https://thenewstack.io/an-introduction-to-python-for-non-programmers/", "An Introduction to Python for Non-Programmers" %}
- {% Blog "https://thenewstack.io/getting-started-with-python-and-influxdb/", "Getting Started with Python and InfluxDB" %}
-{% endresources %}
+Free Content
+Python Website
+Python Getting Started
+Automate the Boring Stuff
+FreeCodeCamp.org - How to Learn Python ?
+Python principles - Python basics
+W3Schools - Python Tutorial
+Python Crash Course
+Codecademy - Learn Python 2
+An Introduction to Python for Non-Programmers
+Getting Started with Python and InfluxDB
diff --git a/src/roadmaps/computer-science/content/101-pick-a-language/104-go.md b/src/roadmaps/computer-science/content/101-pick-a-language/104-go.md
index d8efe85a5..58599560b 100644
--- a/src/roadmaps/computer-science/content/101-pick-a-language/104-go.md
+++ b/src/roadmaps/computer-science/content/101-pick-a-language/104-go.md
@@ -1,16 +1,19 @@
-{% Roadmap "/golang", "Go" %}
+
# Go
Go is an open source programming language supported by Google. Go can be used to write cloud services, CLI tools, used for API development, and much more.
-{% resources %}
- {% Blog "https://go.dev/tour/welcome/1", "A Tour of Go – Go Basics" %}
- {% Blog "https://go.dev/doc/", "Go Reference Documentation" %}
- {% Blog "https://gobyexample.com/", "Go by Example - annotated example programs" %}
- {% Course "https://www.codecademy.com/learn/learn-go", "Learn Go | Codecademy" %}
- {% Course "https://www.w3schools.com/go/", "W3Schools Go Tutorial " %}
- {% Blog "https://thenewstack.io/make-a-restful-json-api-go/", "Making a RESTful JSON API in Go" %}
- {% Blog "https://thenewstack.io/go-the-programming-language-of-the-cloud/", "Go, the Programming Language of the Cloud" %}
-{% endresources %}
+Free Content
+A Tour of Go – Go Basics
+Go Reference Documentation
+Go by Example - annotated example programs
+Learn Go | Codecademy
+W3Schools Go Tutorial
+Making a RESTful JSON API in Go
+Go, the Programming Language of the Cloud
diff --git a/src/roadmaps/computer-science/content/101-pick-a-language/105-c-sharp.md b/src/roadmaps/computer-science/content/101-pick-a-language/105-c-sharp.md
index 2d0b5c73d..631df31ca 100644
--- a/src/roadmaps/computer-science/content/101-pick-a-language/105-c-sharp.md
+++ b/src/roadmaps/computer-science/content/101-pick-a-language/105-c-sharp.md
@@ -2,9 +2,8 @@
C# (pronounced "C sharp") is a general purpose programming language made by Microsoft. It is used to perform different tasks and can be used to create web apps, games, mobile apps, etc.
-{% resources %}
- {% Blog "https://docs.microsoft.com/en-us/learn/paths/csharp-first-steps/?WT.mc_id=dotnet-35129-website", "C# Learning Path" %}
- {% Blog "https://www.w3schools.com/cs/index.php", "C# on W3 schools" %}
- {% Blog "https://docs.microsoft.com/en-us/shows/CSharp-101/?WT.mc_id=Educationalcsharp-c9-scottha", "Introduction to C#" %}
- {% Blog "https://www.youtube.com/watch?v=gfkTfcpWqAY&list=PLTjRvDozrdlz3_FPXwb6lX_HoGXa09Yef", "C# tutorials" %}
-{% endresources %}
+Free Content
+C# Learning Path
+C# on W3 schools
+Introduction to C#
+C# tutorials
diff --git a/src/roadmaps/computer-science/content/101-pick-a-language/106-rust.md b/src/roadmaps/computer-science/content/101-pick-a-language/106-rust.md
index b3601aab6..0e45b54bc 100644
--- a/src/roadmaps/computer-science/content/101-pick-a-language/106-rust.md
+++ b/src/roadmaps/computer-science/content/101-pick-a-language/106-rust.md
@@ -2,9 +2,8 @@
Rust is a modern systems programming language focusing on safety, speed, and concurrency. It accomplishes these goals by being memory safe without using garbage collection.
-{% resources %}
- {% Blog "https://doc.rust-lang.org/book/", "The Rust Programming Language - online book" %}
- {% Blog "https://doc.rust-lang.org/stable/rust-by-example/index.html", "Rust by Example - collection of runnable examples" %}
- {% Blog "https://thenewstack.io/rust-vs-go-why-theyre-better-together/", "Rust vs. Go: Why They’re Better Together" %}
- {% Blog "https://thenewstack.io/rust-by-the-numbers-the-rust-programming-language-in-2021/", "Rust by the Numbers: The Rust Programming Language in 2021" %}
-{% endresources %}
+Free Content
+The Rust Programming Language - online book
+Rust by Example - collection of runnable examples
+Rust vs. Go: Why They’re Better Together
+Rust by the Numbers: The Rust Programming Language in 2021
diff --git a/src/roadmaps/computer-science/content/101-pick-a-language/index.md b/src/roadmaps/computer-science/content/101-pick-a-language/index.md
deleted file mode 100644
index 807a56fc4..000000000
--- a/src/roadmaps/computer-science/content/101-pick-a-language/index.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# Pick a Language
-
-You need to pick a programming language to learn the Computer Science concepts. My personal recommendation would be to pick C++ or C and the reason for that is:
-
-* They allow you to deal with pointers and memory allocation/deallocation, so you feel the data structures and algorithms in your bones. In higher level languages like Python or Java, these are hidden from you. In day to day work, that's terrific, but when you're learning how these low-level data structures are built, it's great to feel close to the metal.
-* You will be able to find a lot of resources for the topics listed in this roadmap using C or C++. You can find a lot of resources for Python and Java, but they are not as abundant as C++ and C.
-
-Given below is the list of resources; pick ones relevant to the language of your choice.
-
-{% resources %}
- {% Blog "https://www.w3schools.com/cpp/", "Learn C++ - W3Schools" %}
- {% Blog "https://www.tutorialspoint.com/cplusplus/index.htm", "Learn C++ - Tutorials Point" %}
- {% Blog "https://www.youtube.com/watch?v=8jLOx1hD3_o", "C++ Programming Course - Beginner to Advanced" %}
- {% Blog "https://www.youtube.com/watch?v=vLnPwxZdW4Y", "C++ Tutorial for Beginners - Full Course" %}
- {% Blog "https://www.w3schools.com/c/", "Learn C - W3Schools" %}
- {% Blog "https://www.tutorialspoint.com/cprogramming/index.htm", "Learn C - Tutorials Point" %}
- {% Blog "https://www.youtube.com/watch?v=KJgsSFOSQv0", "C Programming Tutorial for Beginners" %}
- {% Blog "https://www.youtube.com/watch?v=j-_s8f5K30I", "Learn C Programming with Dr. Chuck" %}
-{% endresources %}
diff --git a/src/roadmaps/computer-science/content/101-pick-a-language/readme.md b/src/roadmaps/computer-science/content/101-pick-a-language/readme.md
new file mode 100644
index 000000000..b935c679f
--- /dev/null
+++ b/src/roadmaps/computer-science/content/101-pick-a-language/readme.md
@@ -0,0 +1,19 @@
+# Pick a Language
+
+You need to pick a programming language to learn the Computer Science concepts. My personal recommendation would be to pick C++ or C and the reason for that is:
+
+* They allow you to deal with pointers and memory allocation/deallocation, so you feel the data structures and algorithms in your bones. In higher level languages like Python or Java, these are hidden from you. In day to day work, that's terrific, but when you're learning how these low-level data structures are built, it's great to feel close to the metal.
+* You will be able to find a lot of resources for the topics listed in this roadmap using C or C++. You can find a lot of resources for Python and Java, but they are not as abundant as C++ and C.
+
+Given below is the list of resources; pick ones relevant to the language of your choice.
+
+Free Content
+Learn C++ - W3Schools
+Learn C++ - Tutorials Point
+C++ Programming Course - Beginner to Advanced
+C++ Tutorial for Beginners - Full Course
+
+Learn C - W3Schools
+Learn C - Tutorials Point
+C Programming Tutorial for Beginners
+Learn C Programming with Dr. Chuck
diff --git a/src/roadmaps/computer-science/content/102-data-structures/100-array.md b/src/roadmaps/computer-science/content/102-data-structures/100-array.md
index c52103049..52bbf1619 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/100-array.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/100-array.md
@@ -2,10 +2,9 @@
Arrays store elements in contiguous memory locations, resulting in easily calculable addresses for the elements stored and this allows faster access to an element at a specific index.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=QJNwK2uJyGs", "Array Data Structure | Illustrated Data Structures" %}
- {% Blog "https://www.coursera.org/lecture/data-structures/arrays-OsBSF", "Array Data Structure - Coursera" %}
- {% Blog "https://archive.org/details/ucberkeley_webcast_Wp8oiO_CZZE", "UC Berkeley CS61B - Linear and Multi-Dim Arrays (Start watching from 15m 32s)" %}
- {% Blog "https://www.coursera.org/lecture/data-structures/dynamic-arrays-EwbnV", "Dynamic Arrays - Coursera" %}
- {% Blog "https://www.youtube.com/watch?v=1jtrQqYpt7g", "Jagged Arrays" %}
-{% endresources %}
+Free Content
+Array Data Structure | Illustrated Data Structures
+Array Data Structure - Coursera
+UC Berkeley CS61B - Linear and Multi-Dim Arrays (Start watching from 15m 32s)
+Dynamic Arrays - Coursera
+Jagged Arrays
diff --git a/src/roadmaps/computer-science/content/102-data-structures/101-linked-list.md b/src/roadmaps/computer-science/content/102-data-structures/101-linked-list.md
index ba099f41c..9c59d8dab 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/101-linked-list.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/101-linked-list.md
@@ -2,14 +2,13 @@
Arrays store elements in contiguous memory locations, resulting in easily calculable addresses for the elements stored and this allows faster access to an element at a specific index. Linked lists are less rigid in their storage structure and elements are usually not stored in contiguous locations, hence they need to be stored with additional tags giving a reference to the next element. This difference in the data storage scheme decides which data structure would be more suitable for a given situation.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=odW9FU8jPRQ", "Linked List Data Structure | Illustrated Data Structures" %}
- {% Blog "https://www.youtube.com/watch?v=F8AbOfQwl1c", "Linked Lists in 4 minutes" %}
- {% Blog "https://www.coursera.org/lecture/data-structures/singly-linked-lists-kHhgK", "Singly Linked Lists" %}
- {% Blog "https://archive.org/details/ucberkeley_webcast_htzJdKoEmO0", "CS 61B Lecture 7: Linked Lists I" %}
- {% Blog "https://archive.org/details/ucberkeley_webcast_-c4I3gFYe3w", "CS 61B Lecture 7: Linked Lists II" %}
- {% Blog "https://www.coursera.org/lecture/data-structures-optimizing-performance/core-linked-lists-vs-arrays-rjBs9", "Core: Linked Lists vs Arrays" %}
- {% Blog "https://www.coursera.org/lecture/data-structures-optimizing-performance/in-the-real-world-lists-vs-arrays-QUaUd", "In the Real World: Linked Lists vs Arrays" %}
- {% Blog "https://www.youtube.com/watch?v=YQs6IC-vgmo", "Why you should avoid Linked Lists?" %}
- {% Blog "https://www.coursera.org/lecture/data-structures/doubly-linked-lists-jpGKD", "Doubly Linked Lists" %}
-{% endresources %}
+Free Content
+Linked List Data Structure | Illustrated Data Structures
+Linked Lists in 4 minutes
+Singly Linked Lists
+CS 61B Lecture 7: Linked Lists I
+CS 61B Lecture 7: Linked Lists II
+Core: Linked Lists vs Arrays
+In the Real World: Linked Lists vs Arrays
+Why you should avoid Linked Lists?
+Doubly Linked Lists
diff --git a/src/roadmaps/computer-science/content/102-data-structures/102-stack.md b/src/roadmaps/computer-science/content/102-data-structures/102-stack.md
index d45d362ee..d790ac09e 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/102-stack.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/102-stack.md
@@ -2,11 +2,10 @@
Stack is a linear collection of items where items are inserted and removed in a particular order. Stack is also called a LIFO Data Structure because it follows the "Last In First Out" principle i.e. the item that is inserted in the last is the one that is taken out first.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=I5lq6sCuABE", "Stack Data Structure | Illustrated Data Structures" %}
- {% Blog "https://www.youtube.com/watch?v=KcT3aVgrrpU", "Stack in 3 minutes" %}
- {% Blog "https://www.coursera.org/lecture/data-structures/stacks-UdKzQ", "Stack Data Structure" %}
-{% endresources %}
+Free Content
+Stack Data Structure | Illustrated Data Structures
+Stack in 3 minutes
+Stack Data Structure
diff --git a/src/roadmaps/computer-science/content/102-data-structures/103-queue.md b/src/roadmaps/computer-science/content/102-data-structures/103-queue.md
index df26ad765..74fa74d78 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/103-queue.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/103-queue.md
@@ -2,11 +2,10 @@
Queue is a linear collection of items where items are inserted and removed in a particular order. The queue is also called a FIFO Data Structure because it follows the "First In, First Out" principle i.e., the item that is inserted in the first is the one that is taken out first.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=mDCi1lXd9hc", "Queue Data Structure | Illustrated Data Structures" %}
- {% Blog "https://www.youtube.com/watch?v=D6gu-_tmEpQ", "Queue in 3 Minutes" %}
- {% Blog "https://www.coursera.org/lecture/data-structures/queues-EShpq", "Queues - Coursera" %}
- {% Blog "https://en.wikipedia.org/wiki/Circular_buffer", "Circular Buffer - Wikipedia" %}
-{% endresources %}
+Free Content
+Queue Data Structure | Illustrated Data Structures
+Queue in 3 Minutes
+Queues - Coursera
+Circular Buffer - Wikipedia
diff --git a/src/roadmaps/computer-science/content/102-data-structures/104-hash-table.md b/src/roadmaps/computer-science/content/102-data-structures/104-hash-table.md
index 8d9176b38..1650112d2 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/104-hash-table.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/104-hash-table.md
@@ -2,14 +2,13 @@
Hash Table, Map, HashMap, Dictionary or Associative are all the names of the same data structure. It is one of the most commonly used data structures.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=jalSiaIi8j4", "Hash Table | Illustrated Data Structures" %}
- {% Blog "https://youtu.be/knV86FlSXJ8", "Hash Table in 4 Minutes" %}
- {% Blog "https://www.youtube.com/watch?v=0M_kIqhwbFo&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=9", "Hashing with Chaining" %}
- {% Blog "https://www.youtube.com/watch?v=BRO7mVIFt08&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=10", "Table Doubling, Karp-Rabin" %}
- {% Blog "https://www.youtube.com/watch?v=rvdJDijO2Ro&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=11", "Open Addressing, Cryptographic Hashing" %}
- {% Blog "https://www.youtube.com/watch?v=C4Kc8xzcA68", "PyCon 2010: The Mighty Dictionary" %}
- {% Blog "https://www.youtube.com/watch?v=66P5FMkWoVU", "PyCon 2017: The Dictionary Even Mightier" %}
- {% Blog "https://www.youtube.com/watch?v=z0lJ2k0sl1g&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=11", "(Advanced) Randomization: Universal & Perfect Hashing" %}
- {% Blog "https://www.youtube.com/watch?v=N0COwN14gt0&list=PL2B4EEwhKD-NbwZ4ezj7gyc_3yNrojKM9&index=4", "(Advanced) Perfect hashing" %}
-{% endresources %}
+Free Content
+Hash Table | Illustrated Data Structures
+Hash Table in 4 Minutes
+Hashing with Chaining
+Table Doubling, Karp-Rabin
+Open Addressing, Cryptographic Hashing
+PyCon 2010: The Mighty Dictionary
+PyCon 2017: The Dictionary Even Mightier
+(Advanced) Randomization: Universal & Perfect Hashing
+(Advanced) Perfect hashing
diff --git a/src/roadmaps/computer-science/content/102-data-structures/105-tree/100-binary-tree.md b/src/roadmaps/computer-science/content/102-data-structures/105-tree/100-binary-tree.md
index 7e7da8490..12e8f79de 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/105-tree/100-binary-tree.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/105-tree/100-binary-tree.md
@@ -2,7 +2,5 @@
A binary tree is a tree data structure in which each node has at most two children, which are referred to as the left child and the right child.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=76dhtgZt38A&list=PLUl4u3cNGP63EdVPNLG3ToM6LaEUuStEY&index=9", "Binary Trees - Part 1" %}
- {% Blog "https://www.youtube.com/watch?v=U1JYwHcFfso&list=PLUl4u3cNGP63EdVPNLG3ToM6LaEUuStEY&index=10", "Binary Trees - Part 2" %}
-{% endresources %}
+Binary Trees - Part 1
+Binary Trees - Part 2
diff --git a/src/roadmaps/computer-science/content/102-data-structures/105-tree/101-binary-search-tree.md b/src/roadmaps/computer-science/content/102-data-structures/105-tree/101-binary-search-tree.md
index da9abb864..d990f619b 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/105-tree/101-binary-search-tree.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/105-tree/101-binary-search-tree.md
@@ -2,14 +2,13 @@
A binary search tree, also called an ordered or sorted binary tree, is a rooted binary tree data structure with the key of each internal node being greater than all the keys in the respective node's left subtree and less than the ones in its right subtree.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=S2W3SXGPVyU", "Tree | Illustrated Data Structures" %}
- {% Blog "https://www.coursera.org/learn/data-structures/lecture/E7cXP/introduction", "Binary Search Trees - Coursera" %}
- {% Blog "https://www.youtube.com/watch?v=76dhtgZt38A", "Binary Search Trees - MIT" %}
- {% Blog "https://www.youtube.com/watch?v=COZK7NATh4k&list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P&index=29", "Binary Search Tree Implementation in C++" %}
- {% Blog "https://www.youtube.com/watch?v=hWokyBoo0aI&list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P&index=30", "BST implementation - memory allocation in stack and heap" %}
- {% Blog "https://www.youtube.com/watch?v=Ut90klNN264&list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P&index=31", "Find Min and Max Element in Binary Search Tree" %}
- {% Blog "https://www.youtube.com/watch?v=yEwSGhSsT0U&list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P&index=36", "Check if Given Tree is Binary Search Tree or Not" %}
- {% Blog "https://www.youtube.com/watch?v=gcULXE7ViZw&list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P&index=37", "Delete an Element from Binary Search Tree" %}
- {% Blog "https://www.youtube.com/watch?v=5cPbNCrdotA&list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P&index=38", "Inorder Successor in a binary search tree" %}
-{% endresources %}
+Free Content
+Tree | Illustrated Data Structures
+Binary Search Trees - Coursera
+Binary Search Trees - MIT
+Binary Search Tree Implementation in C++
+BST implementation - memory allocation in stack and heap
+Find Min and Max Element in Binary Search Tree
+Check if Given Tree is Binary Search Tree or Not
+Delete an Element from Binary Search Tree
+Inorder Successor in a binary search tree
diff --git a/src/roadmaps/computer-science/content/102-data-structures/105-tree/102-full-binary-tree.md b/src/roadmaps/computer-science/content/102-data-structures/105-tree/102-full-binary-tree.md
index 1602129dc..ffa3332b6 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/105-tree/102-full-binary-tree.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/105-tree/102-full-binary-tree.md
@@ -2,7 +2,6 @@
A full Binary tree is a special type of binary tree in which every parent node/internal node has either two or no children. It is also known as a proper binary tree.
-{% resources %}
- {% Blog "https://www.programiz.com/dsa/full-binary-tree", "Full Binary Tree" %}
- {% Blog "https://www.geeksforgeeks.org/types-of-binary-tree/", "Types of Binary Tree" %}
-{% endresources %}
+Free Content
+Full Binary Tree
+Types of Binary Tree
diff --git a/src/roadmaps/computer-science/content/102-data-structures/105-tree/103-complete-binary-tree.md b/src/roadmaps/computer-science/content/102-data-structures/105-tree/103-complete-binary-tree.md
index becd7814e..337c9c631 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/105-tree/103-complete-binary-tree.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/105-tree/103-complete-binary-tree.md
@@ -2,7 +2,6 @@
A complete binary tree is a special type of binary tree where all the levels of the tree are filled completely except the lowest level nodes which are filled from as left as possible.
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/complete-binary-tree", "Complete Binary Tree - Geeks for Geeks" %}
- {% Blog "https://www.programiz.com/dsa/complete-binary-tree", "Complete Binary Tree - Programiz" %}
-{% endresources %}
+Free Content
+Complete Binary Tree - Geeks for Geeks
+Complete Binary Tree - Programiz
diff --git a/src/roadmaps/computer-science/content/102-data-structures/105-tree/104-balanced-tree.md b/src/roadmaps/computer-science/content/102-data-structures/105-tree/104-balanced-tree.md
index bdd76197d..df933dd60 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/105-tree/104-balanced-tree.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/105-tree/104-balanced-tree.md
@@ -2,6 +2,5 @@
A balanced binary tree, also referred to as a height-balanced binary tree, is defined as a binary tree in which the height of the left and right subtree of any node differ by not more than 1.
-{% resources %}
- {% Blog "https://www.programiz.com/dsa/balanced-binary-tree", "Balanced Binary Tree" %}
-{% endresources %}
+Free Content
+Balanced Binary Tree
diff --git a/src/roadmaps/computer-science/content/102-data-structures/105-tree/105-unbalanced-tree.md b/src/roadmaps/computer-science/content/102-data-structures/105-tree/105-unbalanced-tree.md
index 603d1e640..31d0aaea5 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/105-tree/105-unbalanced-tree.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/105-tree/105-unbalanced-tree.md
@@ -2,6 +2,5 @@
An unbalanced binary tree is one that is not balanced.
-{% resources %}
- {% Blog "https://www.programiz.com/dsa/balanced-binary-tree", "Balanced Binary Tree" %}
-{% endresources %}
+Free Content
+Balanced Binary Tree
diff --git a/src/roadmaps/computer-science/content/102-data-structures/105-tree/index.md b/src/roadmaps/computer-science/content/102-data-structures/105-tree/index.md
deleted file mode 100644
index 961b9f9f7..000000000
--- a/src/roadmaps/computer-science/content/102-data-structures/105-tree/index.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Tree
-
-A tree is non-linear and a hierarchical data structure consisting of a collection of nodes such that each node of the tree stores a value and a list of references to other nodes (the “children”).
-
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/introduction-to-tree-data-structure-and-algorithm-tutorials/", "Tree Data Structure - Geeks for Geeks" %}
- {% Blog "https://www.youtube.com/watch?v=S2W3SXGPVyU", "Tree | Illustrated Data Structures" %}
-{% endresources %}
diff --git a/src/roadmaps/computer-science/content/102-data-structures/105-tree/readme.md b/src/roadmaps/computer-science/content/102-data-structures/105-tree/readme.md
new file mode 100644
index 000000000..b2b31e90f
--- /dev/null
+++ b/src/roadmaps/computer-science/content/102-data-structures/105-tree/readme.md
@@ -0,0 +1,7 @@
+# Tree
+
+A tree is non-linear and a hierarchical data structure consisting of a collection of nodes such that each node of the tree stores a value and a list of references to other nodes (the “children”).
+
+Free Content
+Tree Data Structure - Geeks for Geeks
+Tree | Illustrated Data Structures
diff --git a/src/roadmaps/computer-science/content/102-data-structures/106-graph/100-directed-graph.md b/src/roadmaps/computer-science/content/102-data-structures/106-graph/100-directed-graph.md
index cf312b337..1074b7dc6 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/106-graph/100-directed-graph.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/106-graph/100-directed-graph.md
@@ -2,6 +2,5 @@
A directed graph is graph, i.e., a set of objects (called vertices or nodes) that are connected together, where all the edges are directed from one vertex to another. A directed graph is sometimes called a digraph or a directed network. In contrast, a graph where the edges are bidirectional is called an undirected graph.
-{% resources %}
- {% Blog "https://en.wikipedia.org/wiki/Directed_graph", "Directed Graph" %}
-{% endresources %}
+Free Content
+Directed Graph
diff --git a/src/roadmaps/computer-science/content/102-data-structures/106-graph/101-undirected-graph.md b/src/roadmaps/computer-science/content/102-data-structures/106-graph/101-undirected-graph.md
index 05f3d7cd7..3bf335de0 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/106-graph/101-undirected-graph.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/106-graph/101-undirected-graph.md
@@ -2,6 +2,5 @@
An undirected graph is graph, i.e., a set of objects (called vertices or nodes) that are connected together, where all the edges are bidirectional. An undirected graph is sometimes called an undirected network. In contrast, a graph where the edges point in a direction is called a directed graph.
-{% resources %}
- {% Blog "https://mathinsight.org/definition/undirected_graph", "Undirected Graph" %}
-{% endresources %}
+Free Content
+Undirected Graph
diff --git a/src/roadmaps/computer-science/content/102-data-structures/106-graph/102-spanning-tree.md b/src/roadmaps/computer-science/content/102-data-structures/106-graph/102-spanning-tree.md
index 69cd87954..36c34592e 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/106-graph/102-spanning-tree.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/106-graph/102-spanning-tree.md
@@ -2,9 +2,8 @@
A spanning tree is a subset of Graph G, which has all the vertices covered with minimum possible number of edges. Hence, a spanning tree does not have cycles and it cannot be disconnected..
-{% resources %}
- {% Blog "https://www.tutorialspoint.com/data_structures_algorithms/spanning_tree.htm", "Spanning Tree" %}
- {% Blog "https://www.youtube.com/watch?v=oolm2VnJUKw&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=13", "CSE373 2020 - Lecture 13 - Minimum Spanning Trees" %}
- {% Blog "https://www.youtube.com/watch?v=RktgPx0MarY&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=14", "CSE373 2020 - Lecture 14 - Minimum Spanning Trees (cont)" %}
- {% Blog "https://www.youtube.com/watch?v=tKwnms5iRBU&index=16&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp", "Greedy Algorithms: Minimum Spanning Tree" %}
-{% endresources %}
+Free Content
+Spanning Tree
+CSE373 2020 - Lecture 13 - Minimum Spanning Trees
+CSE373 2020 - Lecture 14 - Minimum Spanning Trees (con't)
+Greedy Algorithms: Minimum Spanning Tree
diff --git a/src/roadmaps/computer-science/content/102-data-structures/106-graph/103-graph-representation.md b/src/roadmaps/computer-science/content/102-data-structures/106-graph/103-graph-representation.md
index 33cc0e7e8..a9aa2737f 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/106-graph/103-graph-representation.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/106-graph/103-graph-representation.md
@@ -6,7 +6,6 @@ The adjacency matrix is a 2D array of size `V x V` where `V` is the number of ve
Adjacency list is an array of vectors. Size of the array is equal to the number of vertices. Let the array be `array[]`. An entry `array[i]` represents the list of vertices adjacent to the ith vertex. This representation can also be used to represent a weighted graph. The weights of edges can be represented as lists of pairs.
-{% resources %}
- {% Blog "https://www.programiz.com/dsa/graph-adjacency-matrix", "Adjacency Matrix - Graph Representation" %}
- {% Blog "https://www.programiz.com/dsa/graph-adjacency-list", "Adjacency List - Graph Representation" %}
-{% endresources %}
+Free Content
+Adjacency Matrix - Graph Representation
+Adjacency List - Graph Representation
diff --git a/src/roadmaps/computer-science/content/102-data-structures/106-graph/index.md b/src/roadmaps/computer-science/content/102-data-structures/106-graph/index.md
deleted file mode 100644
index fa421f2e7..000000000
--- a/src/roadmaps/computer-science/content/102-data-structures/106-graph/index.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# Graph
-
-Graphs in data structures are non-linear data structures made up of a finite number of nodes or vertices and the edges that connect them. Graphs in data structures are used to address real-world problems in which it represents the problem area as a network like telephone networks, circuit networks, and social networks.
-
-{% resources %}
- {% Blog "https://www.simplilearn.com/tutorials/data-structure-tutorial/graphs-in-data-structure", "Graph Data Structure" %}
- {% Blog "https://www.youtube.com/watch?v=0sQE8zKhad0", "Graph Data Structure | Illustrated Data Structures" %}
- {% Blog "https://www.youtube.com/watch?v=Sjk0xqWWPCc&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=10", "CSE373 2020 - Lecture 10 - Graph Data Structures" %}
- {% Blog "https://www.youtube.com/watch?v=ZTwjXj81NVY&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=11", "CSE373 2020 - Lecture 11 - Graph Traversal" %}
- {% Blog "https://www.youtube.com/watch?v=KyordYB3BOs&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=12", "CSE373 2020 - Lecture 12 - Depth First Search" %}
- {% Blog "https://www.youtube.com/watch?v=oolm2VnJUKw&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=13", "CSE373 2020 - Lecture 13 - Minimum Spanning Trees" %}
- {% Blog "https://www.youtube.com/watch?v=RktgPx0MarY&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=14", "CSE373 2020 - Lecture 14 - Minimum Spanning Trees (cont)" %}
- {% Blog "https://www.youtube.com/watch?v=MUe5DXRhyAo&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=15", "CSE373 2020 - Lecture 15 - Graph Algorithms (cont 2)" %}
- {% Blog "https://www.youtube.com/watch?v=Aa2sqUhIn-E&index=15&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb", "6.006 Single-Source Shortest Paths Problem" %}
-{% endresources %}
-
diff --git a/src/roadmaps/computer-science/content/102-data-structures/106-graph/readme.md b/src/roadmaps/computer-science/content/102-data-structures/106-graph/readme.md
new file mode 100644
index 000000000..291962fca
--- /dev/null
+++ b/src/roadmaps/computer-science/content/102-data-structures/106-graph/readme.md
@@ -0,0 +1,16 @@
+# Graph
+
+Graphs in data structures are non-linear data structures made up of a finite number of nodes or vertices and the edges that connect them. Graphs in data structures are used to address real-world problems in which it represents the problem area as a network like telephone networks, circuit networks, and social networks.
+
+Free Content
+Graph Data Structure
+Graph Data Structure | Illustrated Data Structures
+CSE373 2020 - Lecture 10 - Graph Data Structures
+CSE373 2020 - Lecture 11 - Graph Traversal
+CSE373 2020 - Lecture 12 - Depth First Search
+CSE373 2020 - Lecture 13 - Minimum Spanning Trees
+CSE373 2020 - Lecture 14 - Minimum Spanning Trees (con't)
+CSE373 2020 - Lecture 15 - Graph Algorithms (con't 2)
+
+6.006 Single-Source Shortest Paths Problem
+
diff --git a/src/roadmaps/computer-science/content/102-data-structures/107-heap.md b/src/roadmaps/computer-science/content/102-data-structures/107-heap.md
index c3bfabe6c..389aa5d31 100644
--- a/src/roadmaps/computer-science/content/102-data-structures/107-heap.md
+++ b/src/roadmaps/computer-science/content/102-data-structures/107-heap.md
@@ -2,9 +2,8 @@
Heap is a tree-based data structure that follows the properties of a complete binary tree and is either a Min Heap or a Max Heap.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=F_r0sJ1RqWk", "Heap | Illustrated Data Structures" %}
- {% Blog "https://www.coursera.org/lecture/data-structures/introduction-2OpTs", "Priority Queue - Introduction" %}
- {% Blog "https://www.youtube.com/watch?v=B7hVxCmfPtM&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=5", "Heaps and Heap Sort" %}
- {% Blog "https://archive.org/details/ucberkeley_webcast_yIUFT6AKBGE", "CS 61B Lecture 24: Priority Queues" %}
-{% endresources %}
+Free Content
+Heap | Illustrated Data Structures
+Priority Queue - Introduction
+Heaps and Heap Sort
+CS 61B Lecture 24: Priority Queues
diff --git a/src/roadmaps/computer-science/content/102-data-structures/index.md b/src/roadmaps/computer-science/content/102-data-structures/index.md
deleted file mode 100644
index c77df44af..000000000
--- a/src/roadmaps/computer-science/content/102-data-structures/index.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Data Structures
-
-As the name indicates itself, a **Data Structure** is a way of organizing the data in the **memory** so that it can be used efficiently. Some common data structures are array, linked list, stack, hashtable, queue, tree, heap, and graph.
-
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/data-structures", "What are Data Structures?" %}
- {% Blog "https://www.javatpoint.com/data-structure-tutorial", " Data Structures and Algorithms" %}
- {% Blog "https://www.youtube.com/watch?v=9rhT3P1MDHk&list=PLkZYeFmDuaN2-KUIv-mvbjfKszIGJ4FaY", "Data Structures Illustrated" %}
-{% endresources %}
diff --git a/src/roadmaps/computer-science/content/102-data-structures/readme.md b/src/roadmaps/computer-science/content/102-data-structures/readme.md
new file mode 100644
index 000000000..c0cba14ad
--- /dev/null
+++ b/src/roadmaps/computer-science/content/102-data-structures/readme.md
@@ -0,0 +1,8 @@
+# Data Structures
+
+As the name indicates itself, a **Data Structure** is a way of organizing the data in the **memory** so that it can be used efficiently. Some common data structures are array, linked list, stack, hashtable, queue, tree, heap, and graph.
+
+Free Content
+What are Data Structures?
+ Data Structures and Algorithms
+Data Structures Illustrated
diff --git a/src/roadmaps/computer-science/content/103-asymptotic-notation/100-big-o-notation.md b/src/roadmaps/computer-science/content/103-asymptotic-notation/100-big-o-notation.md
index d183b8f63..e42b36ad7 100644
--- a/src/roadmaps/computer-science/content/103-asymptotic-notation/100-big-o-notation.md
+++ b/src/roadmaps/computer-science/content/103-asymptotic-notation/100-big-o-notation.md
@@ -2,10 +2,9 @@
Big O Notation describes, how well an algorithm scales with the input size. It is used to describe the worst case scenario of an algorithm. It is used to compare algorithms and to determine which algorithm is better.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=Z0bH0cMY0E8", "Big O Notation — Calculating Time Complexity" %}
- {% Blog "https://www.youtube.com/watch?v=V6mKVRU1evU", "Big O Notations" %}
- {% Blog "https://archive.org/details/ucberkeley_webcast_VIS4YDpuP98", "moviesCS 61B Lecture 19: Asymptotic Analysis" %}
- {% Blog "https://www.youtube.com/watch?v=ei-A_wy5Yxw&list=PL1BaGV1cIH4UhkL8a9bJGG356covJ76qN&index=3", "Big Oh Notation (and Omega and Theta)" %}
-{% endresources %}
+Free Content
+Big O Notation — Calculating Time Complexity
+Big O Notations
+moviesCS 61B Lecture 19: Asymptotic Analysis
+Big Oh Notation (and Omega and Theta)
diff --git a/src/roadmaps/computer-science/content/103-asymptotic-notation/101-big-theta-notation.md b/src/roadmaps/computer-science/content/103-asymptotic-notation/101-big-theta-notation.md
index 590013a83..58b3d7561 100644
--- a/src/roadmaps/computer-science/content/103-asymptotic-notation/101-big-theta-notation.md
+++ b/src/roadmaps/computer-science/content/103-asymptotic-notation/101-big-theta-notation.md
@@ -2,7 +2,6 @@
While Big O Notation refers to the upper bound of a function, Big Theta Notation refers to the exact bound of a function. Big Theta Notation is used to describe the exact growth rate of a function. It is denoted by the symbol Θ.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=ei-A_wy5Yxw&list=PL1BaGV1cIH4UhkL8a9bJGG356covJ76qN&index=3", "Big Oh Notation (and Omega and Theta)" %}
- {% Blog "https://www.youtube.com/watch?v=iOq5kSKqeR4", "Asymptotic Notation - CS50" %}
-{% endresources %}
+Free Content
+Big Oh Notation (and Omega and Theta)
+Asymptotic Notation - CS50
diff --git a/src/roadmaps/computer-science/content/103-asymptotic-notation/102-big-omega-notation.md b/src/roadmaps/computer-science/content/103-asymptotic-notation/102-big-omega-notation.md
index 9c5206daf..9e34149b8 100644
--- a/src/roadmaps/computer-science/content/103-asymptotic-notation/102-big-omega-notation.md
+++ b/src/roadmaps/computer-science/content/103-asymptotic-notation/102-big-omega-notation.md
@@ -2,7 +2,6 @@
Big Omega notation is used to describe the lower bound of a function. It is the opposite of Big O notation. While Big O is used to describe the worst case scenario of an algorithm, Big Omega is used to describe the best case scenario of an algorithm.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=ei-A_wy5Yxw&list=PL1BaGV1cIH4UhkL8a9bJGG356covJ76qN&index=3", "Big Oh Notation (and Omega and Theta)" %}
- {% Blog "https://www.youtube.com/watch?v=iOq5kSKqeR4", "Asymptotic Notation - CS50" %}
-{% endresources %}
+Free Content
+Big Oh Notation (and Omega and Theta)
+Asymptotic Notation - CS50
diff --git a/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/100-constant.md b/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/100-constant.md
index 49a2bd236..f14d0cee5 100644
--- a/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/100-constant.md
+++ b/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/100-constant.md
@@ -2,7 +2,6 @@
Constant time algorithms are the simplest and most efficient algorithms. They are algorithms that always take the same amount of time to run, regardless of the size of the input. This is the best case scenario for an algorithm, and is the goal of all algorithms.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=Z0bH0cMY0E8", "Big O Notation — Calculating Time Complexity" %}
- {% Blog "https://www.youtube.com/watch?v=V6mKVRU1evU", "Big O Notations" %}
-{% endresources %}
+Free Content
+Big O Notation — Calculating Time Complexity
+Big O Notations
diff --git a/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/101-logarithmic.md b/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/101-logarithmic.md
index c380c79ce..02431f090 100644
--- a/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/101-logarithmic.md
+++ b/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/101-logarithmic.md
@@ -2,7 +2,6 @@
Logarithmic complexity algorithms are the second fastest algorithms. They are faster than linear algorithms, but slower than constant algorithms.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=Z0bH0cMY0E8", "Big O Notation — Calculating Time Complexity" %}
- {% Blog "https://www.youtube.com/watch?v=V6mKVRU1evU", "Big O Notations" %}
-{% endresources %}
+Free Content
+Big O Notation — Calculating Time Complexity
+Big O Notations
diff --git a/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/102-linear.md b/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/102-linear.md
index eb8f308f2..3c8425ff6 100644
--- a/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/102-linear.md
+++ b/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/102-linear.md
@@ -2,7 +2,6 @@
Linear algorithms are algorithms that have a runtime that is directly proportional to the size of the input. This means that the runtime of the algorithm will increase linearly with the size of the input. For example, if the input size is 10, the runtime will be 10 times the runtime of the algorithm when the input size is 1. If the input size is 100, the runtime will be 100 times the runtime of the algorithm when the input size is 1.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=Z0bH0cMY0E8", "Big O Notation — Calculating Time Complexity" %}
- {% Blog "https://www.youtube.com/watch?v=V6mKVRU1evU", "Big O Notations" %}
-{% endresources %}
+Free Content
+Big O Notation — Calculating Time Complexity
+Big O Notations
diff --git a/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/103-polynomial.md b/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/103-polynomial.md
index fc4fb051b..33ea677c1 100644
--- a/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/103-polynomial.md
+++ b/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/103-polynomial.md
@@ -9,7 +9,6 @@ def polynomial_algorithm(n):
print(i, j)
```
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=Z0bH0cMY0E8", "Big O Notation — Calculating Time Complexity" %}
- {% Blog "https://www.youtube.com/watch?v=V6mKVRU1evU", "Big O Notations" %}
-{% endresources %}
+Free Content
+Big O Notation — Calculating Time Complexity
+Big O Notations
diff --git a/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/104-exponential.md b/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/104-exponential.md
index 2751445ea..f36a35ada 100644
--- a/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/104-exponential.md
+++ b/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/104-exponential.md
@@ -11,7 +11,6 @@ def exponential(n):
As you can see, the algorithm's runtime grows exponentially. For each additional input, the algorithm will take twice as long to run.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=Z0bH0cMY0E8", "Big O Notation — Calculating Time Complexity" %}
- {% Blog "https://www.youtube.com/watch?v=V6mKVRU1evU", "Big O Notations" %}
-{% endresources %}
+Free Content
+Big O Notation — Calculating Time Complexity
+Big O Notations
diff --git a/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/index.md b/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/index.md
deleted file mode 100644
index 84373d7c2..000000000
--- a/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/index.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Common Runtimes
-
-Given below is the list of common algorithmic runtimes. The runtimes are listed in ascending order of their complexity.
-
-* O(1) - Constant
-* O(log n) - Logarithmic
-* O(n) - Linear
-* O(n log n) - Linearithmic
-* O(n^2) - Quadratic
-* O(n^3) - Cubic
-* O(2^n) - Exponential
-* O(n!) - Factorial
-* O(n^n) - Polynomial
-
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=Z0bH0cMY0E8", "Big O Notation — Calculating Time Complexity" %}
- {% Blog "https://www.youtube.com/watch?v=V6mKVRU1evU", "Big O Notations" %}
-{% endresources %}
diff --git a/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/readme.md b/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/readme.md
new file mode 100644
index 000000000..3f6b63c58
--- /dev/null
+++ b/src/roadmaps/computer-science/content/103-asymptotic-notation/103-common-runtimes/readme.md
@@ -0,0 +1,17 @@
+# Common Runtimes
+
+Given below is the list of common algorithmic runtimes. The runtimes are listed in ascending order of their complexity.
+
+* O(1) - Constant
+* O(log n) - Logarithmic
+* O(n) - Linear
+* O(n log n) - Linearithmic
+* O(n^2) - Quadratic
+* O(n^3) - Cubic
+* O(2^n) - Exponential
+* O(n!) - Factorial
+* O(n^n) - Polynomial
+
+Free Content
+Big O Notation — Calculating Time Complexity
+Big O Notations
diff --git a/src/roadmaps/computer-science/content/103-asymptotic-notation/index.md b/src/roadmaps/computer-science/content/103-asymptotic-notation/index.md
deleted file mode 100644
index 83e69cf23..000000000
--- a/src/roadmaps/computer-science/content/103-asymptotic-notation/index.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# Asymptotic Notation
-
-The efficiency of an algorithm depends on the amount of time, storage and other resources required to execute the algorithm. The efficiency is measured with the help of asymptotic notations.
-
-An algorithm may not have the same performance for different types of inputs. With the increase in the input size, the performance will change.
-
-The study of change in performance of the algorithm with the change in the order of the input size is defined as asymptotic analysis.
-
-{% resources %}
- {% Blog "https://www.programiz.com/dsa/asymptotic-notations", "Asymptotic Analysis: Big-O Notation and More" %}
- {% Blog "https://www.youtube.com/watch?v=Z0bH0cMY0E8", "Big O Notation — Calculating Time Complexity" %}
- {% Blog "https://www.youtube.com/watch?v=__vX2sjlpXU", "Big O Notation in 5 Minutes" %}
- {% Blog "https://www.youtube.com/watch?v=iOq5kSKqeR4", "Asymptotic Notation - CS50" %}
- {% Blog "https://archive.org/details/ucberkeley_webcast_VIS4YDpuP98", "CS 61B Lecture 19: Asymptotic Analysis" %}
- {% Blog "https://www.bigocheatsheet.com/", "Big-O Cheat Sheet" %}
-{% endresources %}
diff --git a/src/roadmaps/computer-science/content/103-asymptotic-notation/readme.md b/src/roadmaps/computer-science/content/103-asymptotic-notation/readme.md
new file mode 100644
index 000000000..9065c74b6
--- /dev/null
+++ b/src/roadmaps/computer-science/content/103-asymptotic-notation/readme.md
@@ -0,0 +1,16 @@
+# Asymptotic Notation
+
+The efficiency of an algorithm depends on the amount of time, storage and other resources required to execute the algorithm. The efficiency is measured with the help of asymptotic notations.
+
+An algorithm may not have the same performance for different types of inputs. With the increase in the input size, the performance will change.
+
+The study of change in performance of the algorithm with the change in the order of the input size is defined as asymptotic analysis.
+
+Free Content
+
+Asymptotic Analysis: Big-O Notation and More
+Big O Notation — Calculating Time Complexity
+Big O Notation in 5 Minutes
+Asymptotic Notation - CS50
+CS 61B Lecture 19: Asymptotic Analysis
+Big-O Cheat Sheet
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/100-bubble-sort.md b/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/100-bubble-sort.md
index 81648ae1d..fe72d0b05 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/100-bubble-sort.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/100-bubble-sort.md
@@ -2,8 +2,7 @@
Bubble sort is a simple sorting algorithm that repeatedly steps through the list, compares adjacent elements and swaps them if they are in the wrong order. The pass through the list is repeated until the list is sorted.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=P00xJgWzz2c&index=1&list=PL89B61F78B552C1AB", "Bubble Sort" %}
- {% Blog "https://www.youtube.com/watch?v=ni_zk257Nqo&index=7&list=PL89B61F78B552C1AB", "Analyzing Bubble Sort" %}
- {% Blog "https://youtu.be/xli_FI7CuzA", "Bubble sort in 2 minutes" %}
-{% endresources %}
+Free Content
+Bubble Sort
+Analyzing Bubble Sort
+Bubble sort in 2 minutes
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/101-selection-sort.md b/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/101-selection-sort.md
index 8659ad39e..02659e8f4 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/101-selection-sort.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/101-selection-sort.md
@@ -2,7 +2,6 @@
Selection sort is a sorting algorithm that selects the smallest unsorted item in the list and swaps it with index 0, then finds the next smallest and places it into index 1 and so on.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=g-PGLbMth_g", "Selection Sort in 3 Minutes" %}
- {% Blog "https://www.coursera.org/lecture/algorithms-part1/selection-UQxFT", "Selection Sort" %}
-{% endresources %}
+Free Content
+Selection Sort in 3 Minutes
+Selection Sort
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/102-insertion-sort.md b/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/102-insertion-sort.md
index 107bbf2d0..88536afc3 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/102-insertion-sort.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/102-insertion-sort.md
@@ -2,8 +2,7 @@
Insertion sort is a simple sorting algorithm that builds the final sorted array one item at a time by comparisons. It is much less efficient on large lists than more advanced algorithms such as quicksort, heapsort, or merge sort.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=Kg4bqzAqRBM&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=4", "Insertion Sort — MIT" %}
- {% Blog "https://www.youtube.com/watch?v=JU767SDMDvA", "Insertion Sort in 3 Minutes" %}
- {% Blog "https://www.programiz.com/dsa/insertion-sort", "Insertion Sort Algorithm" %}
-{% endresources %}
+Free Content
+Insertion Sort — MIT
+Insertion Sort in 3 Minutes
+Insertion Sort Algorithm
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/103-heap-sort.md b/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/103-heap-sort.md
index a5fb0e01e..d92404c1d 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/103-heap-sort.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/103-heap-sort.md
@@ -2,14 +2,13 @@
Heap sort is a comparison based sorting algorithm. It is similar to selection sort where we first find the maximum element and place the maximum element at the end. We repeat the same process for remaining element.
-{% resources %}
- {% Blog "https://www.programiz.com/dsa/heap-sort", "Heap Sort Algorithm" %}
- {% Blog "https://www.geeksforgeeks.org/heap-sort/", "Heap Sort Algorithm - Geeks for Geeks" %}
- {% Blog "https://www.youtube.com/watch?v=2DmK_H7IdTo", "Heap Sort in 4 Minutes" %}
- {% Blog "https://www.youtube.com/watch?v=odNJmw5TOEE&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=3291s", "Heap Sort Algorithm - MIT" %}
- {% Blog "https://www.coursera.org/lecture/data-structures/heap-sort-hSzMO", "Heap Sort Algorithm" %}
- {% Blog "https://www.youtube.com/watch?v=B7hVxCmfPtM&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=5", "Lecture 4 - Heaps and Heap Sort" %}
-{% endresources %}
+Free Content
+Heap Sort Algorithm
+Heap Sort Algorithm - Geeks for Geeks
+Heap Sort in 4 Minutes
+Heap Sort Algorithm - MIT
+Heap Sort Algorithm
+Lecture 4 - Heaps and Heap Sort
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/104-quick-sort.md b/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/104-quick-sort.md
index 43f9293ab..27c0b79d3 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/104-quick-sort.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/104-quick-sort.md
@@ -2,10 +2,9 @@
Quick Sort is a divide and conquer algorithm. It picks an element as pivot and partitions the given array around the picked pivot. There are many different versions of quickSort that pick pivot in different ways.
-{% resources %}
- {% Blog "https://www.programiz.com/dsa/quick-sort", "Quick Sort Algorithm" %}
- {% Blog "https://www.geeksforgeeks.org/quick-sort/", "Quick Sort Algorithm - Geeks for Geeks" %}
- {% Blog "https://www.youtube.com/watch?v=Hoixgm4-P4M&feature=youtu.be", "Quick Sort in 4 Minutes" %}
- {% Blog "http://www.cs.yale.edu/homes/aspnes/classes/223/examples/randomization/quick.c", "Quick Sort Implementaiton in C" %}
- {% Blog "https://github.com/jwasham/practice-python/blob/master/quick_sort/quick_sort.py", "Quick Sort Implementation in Python" %}
-{% endresources %}
+Free Content
+Quick Sort Algorithm
+Quick Sort Algorithm - Geeks for Geeks
+Quick Sort in 4 Minutes
+Quick Sort Implementaiton in C
+Quick Sort Implementation in Python
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/105-merge-sort.md b/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/105-merge-sort.md
index adc27f097..2b5e3f5ce 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/105-merge-sort.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/105-merge-sort.md
@@ -2,9 +2,8 @@
Merge sort is a divide and conquer algorithm. It divides the input array into two halves, calls itself for the two halves, and then merges the two sorted halves. The `merge()` function is used for merging two halves. The `merge(arr, l, m, r)` is key process that assumes that `arr[l..m]` and `arr[m+1..r]` are sorted and merges the two sorted sub-arrays into one.
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/merge-sort/", "Merge Sort - Geeks for Geeks" %}
- {% Blog "https://www.programiz.com/dsa/merge-sort", "Merge Sort Algorithm" %}
- {% Blog "https://www.geeksforgeeks.org/merge-sort-for-linked-list/", "Merge Sort for Linked Lists" %}
- {% Blog "https://www.youtube.com/watch?v=4VqmGXwpLqc", "Merge Sort in 3 Minutes" %}
-{% endresources %}
+Free Content
+Merge Sort - Geeks for Geeks
+Merge Sort Algorithm
+Merge Sort for Linked Lists
+Merge Sort in 3 Minutes
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/index.md b/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/index.md
deleted file mode 100644
index 30366d702..000000000
--- a/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/index.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# Sorting Algorithms
-
-Sorting algorithms are used to sort data in a collection. Sorting is a very common task in computer science, and it is also a very common interview question. There are many different ways to sort data, and different algorithms have different advantages and disadvantages.
-
-Learn about the sorting algorithms and know the best case/worst case, average complexity of each. Also, learn about the stability of sorting algorithms.
-
-{% resources %}
- {% Blog "https://archive.org/details/ucberkeley_webcast_EiUvYS2DT6I", "CS 61B Lecture 29: Sorting I" %}
- {% Blog "https://archive.org/details/ucberkeley_webcast_2hTY3t80Qsk", "CS 61B Lecture 30: Sorting II" %}
- {% Blog "https://archive.org/details/ucberkeley_webcast_Y6LOLpxg6Dc", "CS 61B Lecture 32: Sorting III" %}
- {% Blog "https://archive.org/details/ucberkeley_webcast_qNMQ4ly43p4", "CS 61B Lecture 33: Sorting V" %}
-{% endresources %}
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/readme.md b/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/readme.md
new file mode 100644
index 000000000..7ccd552ca
--- /dev/null
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/100-sorting-algorithms/readme.md
@@ -0,0 +1,11 @@
+# Sorting Algorithms
+
+Sorting algorithms are used to sort data in a collection. Sorting is a very common task in computer science, and it is also a very common interview question. There are many different ways to sort data, and different algorithms have different advantages and disadvantages.
+
+Learn about the sorting algorithms and know the best case/worst case, average complexity of each. Also, learn about the stability of sorting algorithms.
+
+Free Content
+CS 61B Lecture 29: Sorting I
+CS 61B Lecture 30: Sorting II
+CS 61B Lecture 32: Sorting III
+CS 61B Lecture 33: Sorting V
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/100-pre-order-traversal.md b/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/100-pre-order-traversal.md
index 1488c113a..4b59d6502 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/100-pre-order-traversal.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/100-pre-order-traversal.md
@@ -2,7 +2,6 @@
Pre-order traversal is a tree traversal algorithm that visits the root node first, then recursively traverses the left subtree, followed by the right subtree.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=S2W3SXGPVyU", "Tree | Illustrated Data Structures" %}
- {% Blog "https://www.geeksforgeeks.org/tree-traversals-inorder-preorder-and-postorder/", "Tree Traversals (Inorder, Preorder and Postorder)" %}
-{% endresources %}
+Free Content
+Tree | Illustrated Data Structures
+Tree Traversals (Inorder, Preorder and Postorder)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/101-in-order-traversal.md b/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/101-in-order-traversal.md
index 056dd795d..a3d5dc22a 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/101-in-order-traversal.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/101-in-order-traversal.md
@@ -2,7 +2,6 @@
In-order traversal is a tree traversal algorithm that visits the left subtree, the root, and then the right subtree. This is the most common way to traverse a binary search tree. It is also used to create a sorted list of nodes in a binary search tree.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=S2W3SXGPVyU", "Tree | Illustrated Data Structures" %}
- {% Blog "https://www.geeksforgeeks.org/tree-traversals-inorder-preorder-and-postorder/", "Tree Traversals (Inorder, Preorder and Postorder)" %}
-{% endresources %}
+Free Content
+Tree | Illustrated Data Structures
+Tree Traversals (Inorder, Preorder and Postorder)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/102-post-order-traversal.md b/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/102-post-order-traversal.md
index 6c95f9e6b..1321adcf7 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/102-post-order-traversal.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/102-post-order-traversal.md
@@ -2,7 +2,6 @@
Post-order traversal is a type of tree traversal that visits the left subtree, then the right subtree, and finally the root node. This is the opposite of pre-order traversal, which visits the root node first, then the left subtree, and finally the right subtree.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=S2W3SXGPVyU", "Tree | Illustrated Data Structures" %}
- {% Blog "https://www.geeksforgeeks.org/tree-traversals-inorder-preorder-and-postorder/", "Tree Traversals (Inorder, Preorder and Postorder)" %}
-{% endresources %}
+Free Content
+Tree | Illustrated Data Structures
+Tree Traversals (Inorder, Preorder and Postorder)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/103-breadth-first-search.md b/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/103-breadth-first-search.md
index 02cbd30c2..4dab44530 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/103-breadth-first-search.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/103-breadth-first-search.md
@@ -2,8 +2,7 @@
Breadth first search is a graph traversal algorithm that starts at the root node and explores all of the neighbor nodes at the present depth prior to moving on to the nodes at the next depth level.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=uWL6FJhq5fM", "BFS and DFS in a Binary Tree" %}
- {% Blog "https://www.digitalocean.com/community/tutorials/breadth-first-search-depth-first-search-bfs-dfs", "Breadth-First Search (BFS) and Depth-First Search (DFS) for Binary Trees in Java" %}
- {% Blog "https://www.youtube.com/watch?v=HZ5YTanv5QE", "Breadth-first search in 4 minutes" %}
-{% endresources %}
+Free Content
+BFS and DFS in a Binary Tree
+Breadth-First Search (BFS) and Depth-First Search (DFS) for Binary Trees in Java
+Breadth-first search in 4 minutes
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/104-depth-first-search.md b/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/104-depth-first-search.md
index eb4cdd792..9d816c33d 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/104-depth-first-search.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/104-depth-first-search.md
@@ -2,8 +2,7 @@
Depth first search is a graph traversal algorithm that starts at a root node and explores as far as possible along each branch before backtracking.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=uWL6FJhq5fM", "BFS and DFS in a Binary Tree" %}
- {% Blog "https://www.digitalocean.com/community/tutorials/breadth-first-search-depth-first-search-bfs-dfs", "Breadth-First Search (BFS) and Depth-First Search (DFS) for Binary Trees in Java" %}
- {% Blog "https://www.youtube.com/watch?v=Urx87-NMm6c", "Depth First Search in 4 Minutes" %}
-{% endresources %}
+Free Content
+BFS and DFS in a Binary Tree
+Breadth-First Search (BFS) and Depth-First Search (DFS) for Binary Trees in Java
+Depth First Search in 4 Minutes
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/index.md b/src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/readme.md
similarity index 100%
rename from src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/index.md
rename to src/roadmaps/computer-science/content/104-common-algorithms/101-tree-algorithms/readme.md
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/100-breadth-first-search.md b/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/100-breadth-first-search.md
index 4a33fd47d..5ab70072e 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/100-breadth-first-search.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/100-breadth-first-search.md
@@ -2,8 +2,7 @@
Breadth first search for a graph is a way to traverse the graph. It starts at the root node and explores all of the neighbor nodes at the present depth prior to moving on to the nodes at the next depth level.
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/breadth-first-search-or-bfs-for-a-graph/", "Breadth First Search or BFS for a Graph" %}
- {% Blog "https://www.youtube.com/watch?v=ufj5_bppBsA&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=7", "Graph Algorithms II - DFS, BFS, Kruskals Algorithm, Union Find Data Structure - Lecture 7" %}
-{% endresources %}
+Free Content
+Breadth First Search or BFS for a Graph
+Graph Algorithms II - DFS, BFS, Kruskal's Algorithm, Union Find Data Structure - Lecture 7
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/101-depth-first-search.md b/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/101-depth-first-search.md
index d8b0e1505..83929477e 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/101-depth-first-search.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/101-depth-first-search.md
@@ -2,6 +2,5 @@
Depth first search is a graph traversal algorithm that starts at a root node and explores as far as possible along each branch before backtracking.
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/depth-first-search-or-dfs-for-a-graph/?ref=lbp", "Depth First Search or DFS for a Graph" %}
-{% endresources %}
+Free Content
+Depth First Search or DFS for a Graph
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/102-bellman-fords-algorithm.md b/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/102-bellman-fords-algorithm.md
index d6ac906f6..19118d9b8 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/102-bellman-fords-algorithm.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/102-bellman-fords-algorithm.md
@@ -2,7 +2,6 @@
Bellman ford's algorithm is a graph algorithm that finds the shortest path from a source vertex to all other vertices in a graph. It is a dynamic programming algorithm that uses a bottom-up approach to find the shortest path. It is similar to Dijkstra's algorithm but it can handle negative weights. It is also similar to Floyd-Warshall's algorithm but it can handle negative weights and it is faster than Floyd-Warshall's algorithm.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=f9cVS_URPc0&ab_channel=MITOpenCourseWare", "Bellman-Ford - MIT" %}
- {% Blog "https://www.youtube.com/watch?v=9PHkk0UavIM", "Bellman-Ford in 4 Minutes" %}
-{% endresources %}
+Free Content
+Bellman-Ford - MIT
+Bellman-Ford in 4 Minutes
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/103-dijkstras-algorithm.md b/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/103-dijkstras-algorithm.md
index 27069e02b..bc9dcfc90 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/103-dijkstras-algorithm.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/103-dijkstras-algorithm.md
@@ -2,7 +2,6 @@
Dijkstra's algorithm is a graph traversal algorithm that finds the shortest path between two nodes in a graph. It is a weighted graph algorithm, meaning that each edge in the graph has a weight associated with it. The algorithm works by finding the shortest path from the starting node to all other nodes in the graph. It does this by keeping track of the distance from the starting node to each node, and then choosing the node with the shortest distance from the starting node to visit next. It then updates the distance of each node from the starting node, and repeats the process until all nodes have been visited.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=NSHizBK9JD8&t=1731s&ab_channel=MITOpenCourseWare", "Dijkstras Algorithm - MIT" %}
- {% Blog "https://www.youtube.com/watch?v=_lHSawdgXpI", "Dijkstras Algorithm in 3 Minutes" %}
-{% endresources %}
+Free Content
+Dijkstra's Algorithm - MIT
+Dijkstra's Algorithm in 3 Minutes
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/104-a-star-algorithm.md b/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/104-a-star-algorithm.md
index d3c981a0b..51f17cf66 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/104-a-star-algorithm.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/104-a-star-algorithm.md
@@ -2,7 +2,6 @@
A* is a graph traversal algorithm that is used to find the shortest path between two nodes in a graph. It is a modified version of Dijkstra's algorithm that uses heuristics to find the shortest path. It is used in pathfinding and graph traversal.
-{% resources %}
- {% Blog "https://en.wikipedia.org/wiki/A*_search_algorithm", "A* Search Algorithm - Wikipedia" %}
- {% Blog "https://www.youtube.com/watch?v=-L-WgKMFuhE", "A* Pathfinding (E01: algorithm explanation)" %}
-{% endresources %}
+Free Content
+A* Search Algorithm - Wikipedia
+A* Pathfinding (E01: algorithm explanation)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/index.md b/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/index.md
deleted file mode 100644
index e11e3afa1..000000000
--- a/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/index.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# Graph Algorithms
-
-Graphs in data structures are non-linear data structures made up of a finite number of nodes or vertices and the edges that connect them. Graphs in data structures are used to address real-world problems in which it represents the problem area as a network like telephone networks, circuit networks, and social networks.
-
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=i_AQT_XfvD8&index=6&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm", "Graph Algorithms I - Topological Sorting, Minimum Spanning Trees, Prims Algorithm - Lecture 6" %}
- {% Blog "https://www.youtube.com/watch?v=ufj5_bppBsA&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=7", "Graph Algorithms II - DFS, BFS, Kruskals Algorithm, Union Find Data Structure - Lecture 7" %}
- {% Blog "https://www.youtube.com/watch?v=DiedsPsMKXc&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=8", "Graph Algorithms III: Shortest Path - Lecture 8" %}
- {% Blog "https://www.youtube.com/watch?v=XIAQRlNkJAw&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=9", "Graph Alg. IV: Intro to geometric algorithms - Lecture 9" %}
- {% Blog "https://www.youtube.com/watch?v=RpgcYiky7uw", "Strongly Connected Components Kosarajus Algorithm Graph Algorithm" %}
- {% Blog "https://www.youtube.com/playlist?list=PL9xmBV_5YoZO-Y-H3xIC9DGSfVYJng9Yw", "Shortest Path Algorithms (playlist) in 16 minutes" %}
- {% Blog "https://www.youtube.com/playlist?list=PL9xmBV_5YoZObEi3Hf6lmyW-CBfs7nkOV", "Minimum Spanning Trees (playlist) in 4 minutes" %}
- {% Course "https://www.coursera.org/learn/algorithms-on-graphs", "Algorithms on Graphs - Coursera" %}
-{% endresources %}
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/readme.md b/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/readme.md
new file mode 100644
index 000000000..2d43eb0ed
--- /dev/null
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/102-graph-algorithms/readme.md
@@ -0,0 +1,13 @@
+# Graph Algorithms
+
+Graphs in data structures are non-linear data structures made up of a finite number of nodes or vertices and the edges that connect them. Graphs in data structures are used to address real-world problems in which it represents the problem area as a network like telephone networks, circuit networks, and social networks.
+
+Free Content
+Graph Algorithms I - Topological Sorting, Minimum Spanning Trees, Prim's Algorithm - Lecture 6
+Graph Algorithms II - DFS, BFS, Kruskal's Algorithm, Union Find Data Structure - Lecture 7
+Graph Algorithms III: Shortest Path - Lecture 8
+Graph Alg. IV: Intro to geometric algorithms - Lecture 9
+Strongly Connected Components Kosaraju's Algorithm Graph Algorithm
+Shortest Path Algorithms (playlist) in 16 minutes
+Minimum Spanning Trees (playlist) in 4 minutes
+Algorithms on Graphs - Coursera
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/100-dijkstras-algorithm.md b/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/100-dijkstras-algorithm.md
index a28cac645..58a222cd2 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/100-dijkstras-algorithm.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/100-dijkstras-algorithm.md
@@ -2,8 +2,7 @@
Dijkstra's algorithm is a greedy algorithm that finds the shortest path between two nodes in a graph. It is a very common algorithm used in computer science and is used in many applications such as GPS navigation, network routing, and finding the shortest path in a maze.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=_lHSawdgXpI", "Dijkstras Algorithm in 3 Minutes" %}
- {% Blog "https://www.youtube.com/watch?v=NSHizBK9JD8&t=1731s&ab_channel=MITOpenCourseWare", "Dijkstras Algorithm - MIT" %}
- {% Blog "https://www.youtube.com/watch?v=CHvQ3q_gJ7E&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=18", "Speeding Up Dijkstras Algorithm - MIT" %}
-{% endresources %}
+Free Content
+Dijkstra's Algorithm in 3 Minutes
+Dijkstra's Algorithm - MIT
+Speeding Up Dijkstra's Algorithm - MIT
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/101-huffman-coding.md b/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/101-huffman-coding.md
index 7bb1decd1..9aba55b6a 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/101-huffman-coding.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/101-huffman-coding.md
@@ -2,8 +2,7 @@
Huffman coding is a lossless data compression algorithm. The idea is to assign variable-length codes to input characters, lengths of the assigned codes are based on the frequencies of corresponding characters. The most frequent character gets the smallest code and the least frequent character gets the largest code.
-{% resources %}
- {% Blog "https://www.programiz.com/dsa/huffman-coding", "Huffman Coding" %}
- {% Blog "https://www.geeksforgeeks.org/huffman-coding-greedy-algo-3/", "Huffman Coding | Greedy Algo-3" %}
- {% Blog "https://www.youtube.com/watch?v=co4_ahEDCho", "Huffman Coding - Greedy Method" %}
-{% endresources %}
+Free Content
+Huffman Coding
+Huffman Coding | Greedy Algo-3
+Huffman Coding - Greedy Method
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/102-kruskas-algorithm.md b/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/102-kruskas-algorithm.md
index 20c890bb7..6e67267d4 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/102-kruskas-algorithm.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/102-kruskas-algorithm.md
@@ -2,7 +2,6 @@
Kruskal's algorithm is a greedy algorithm that finds a minimum spanning tree for a connected weighted graph. It is a minimum spanning tree algorithm that takes a graph as input and finds the subset of the edges of that graph which form a tree that includes every vertex, where the total weight of all the edges in the tree is minimized. If the graph is not connected, then it finds a minimum spanning forest (a minimum spanning tree for each connected component).
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=71UQH7Pr9kU", "Kruskals Algorithm in 2 Minutes" %}
- {% Blog "https://www.youtube.com/watch?v=ufj5_bppBsA&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=8", "Graph Algorithms II - DFS, BFS, Kruskals Algorithm, Union Find Data Structure - Lecture 7" %}
-{% endresources %}
+Free Content
+Kruskal's Algorithm in 2 Minutes
+Graph Algorithms II - DFS, BFS, Kruskal's Algorithm, Union Find Data Structure - Lecture 7
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/103-ford-fulkerson-algorithm.md b/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/103-ford-fulkerson-algorithm.md
index bd16f829c..bf9482c81 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/103-ford-fulkerson-algorithm.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/103-ford-fulkerson-algorithm.md
@@ -2,8 +2,7 @@
Ford Fulkerson Algorithm is a greedy algorithm that is used to find the maximum flow in a flow network. It is also known as the Edmonds-Karp Algorithm.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=Tl90tNtKvxs", "Ford-Fulkerson in 5 minutes" %}
- {% Blog "https://www.geeksforgeeks.org/ford-fulkerson-algorithm-for-maximum-flow-problem/", "Ford-Fulkerson Algorithm for Maximum Flow Problem" %}
- {% Blog "https://www.programiz.com/dsa/ford-fulkerson-algorithm", "Ford-Fulkerson Algorithm" %}
-{% endresources %}
+Free Content
+Ford-Fulkerson in 5 minutes
+Ford-Fulkerson Algorithm for Maximum Flow Problem
+Ford-Fulkerson Algorithm
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/104-prims-algorithm.md b/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/104-prims-algorithm.md
index 6f2358d43..2e6f14622 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/104-prims-algorithm.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/104-prims-algorithm.md
@@ -2,8 +2,7 @@
Prim's algorithm is a greedy algorithm that finds a minimum spanning tree for a weighted undirected graph. A minimum spanning tree is a subset of the edges of a connected, edge-weighted undirected graph that connects all the vertices together, without any cycles and with the minimum possible total edge weight. A minimum spanning tree for a weighted undirected graph is also called a minimum weight spanning tree or minimum cost spanning tree.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=i_AQT_XfvD8&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=7", "Graph Algorithms I - Topological Sorting, Prims Algorithm - Lecture 6" %}
- {% Blog "https://www.geeksforgeeks.org/prims-minimum-spanning-tree-mst-greedy-algo-5/", "Prim’s Minimum Spanning Tree (MST) | Greedy Algo-5" %}
- {% Blog "https://www.programiz.com/dsa/prim-algorithm", "Prims Algorithm" %}
-{% endresources %}
+Free Content
+Graph Algorithms I - Topological Sorting, Prim's Algorithm - Lecture 6
+Prim’s Minimum Spanning Tree (MST) | Greedy Algo-5
+Prim's Algorithm
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/index.md b/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/index.md
deleted file mode 100644
index ac8fa1058..000000000
--- a/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/index.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# Greedy Algorithms
-
-Greedy algorithms are a type of algorithm that always makes the choice that seems to be the best at that moment. This means that it makes a locally-optimal choice in the hope that this choice will lead to a globally-optimal solution.
-
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/greedy-algorithms/", "Greedy Algorithms - Geeks for Geeks" %}
- {% Blog "https://www.programiz.com/dsa/greedy-algorithm", "Greedy Algorithms - Programiz" %}
- {% Blog "https://www.youtube.com/watch?v=bC7o8P_Ste4", "Greedy Algorithms Tutorial – Solve Coding Challenges" %}
-{% endresources %}
-
-
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/readme.md b/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/readme.md
new file mode 100644
index 000000000..efd97c45e
--- /dev/null
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/104-greedy-algorithms/readme.md
@@ -0,0 +1,10 @@
+# Greedy Algorithms
+
+Greedy algorithms are a type of algorithm that always makes the choice that seems to be the best at that moment. This means that it makes a locally-optimal choice in the hope that this choice will lead to a globally-optimal solution.
+
+Free Content
+Greedy Algorithms - Geeks for Geeks
+Greedy Algorithms - Programiz
+Greedy Algorithms Tutorial – Solve Coding Challenges
+
+
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/100-finding-hamiltonian-paths.md b/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/100-finding-hamiltonian-paths.md
index 9a2c494de..98f7003c3 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/100-finding-hamiltonian-paths.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/100-finding-hamiltonian-paths.md
@@ -2,9 +2,8 @@
Hamiltonian paths are paths that visit every node in a graph exactly once. They are named after the famous mathematician [Hamilton](https://en.wikipedia.org/wiki/William_Rowan_Hamilton). Hamiltonian paths are a special case of [Hamiltonian cycles](https://en.wikipedia.org/wiki/Hamiltonian_cycle), which are cycles that visit every node in a graph exactly once.
-{% resources %}
- {% Blog "https://www.hackerearth.com/practice/algorithms/graphs/hamiltonian-path/tutorial/", "Hamiltonian Path" %}
- {% Blog "https://www.geeksforgeeks.org/hamiltonian-cycle-backtracking-6/", "Hamiltonian Cycle | Backtracking-6" %}
- {% Blog "https://medium.com/stamatics-iit-kanpur/hamiltonian-paths-and-cycles-4f233bfbc53a", "Hamiltonian Paths and Cycles" %}
- {% Blog "https://people.csail.mit.edu/virgi/6.s078/lecture17.pdf", "Hamiltonian Paths - Lecture 7" %}
-{% endresources %}
+Free Content
+Hamiltonian Path
+Hamiltonian Cycle | Backtracking-6
+Hamiltonian Paths and Cycles
+Hamiltonian Paths - Lecture 7
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/101-solving-n-queen-problem.md b/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/101-solving-n-queen-problem.md
index 0133539d0..dc1b033ea 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/101-solving-n-queen-problem.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/101-solving-n-queen-problem.md
@@ -2,8 +2,7 @@
N Queen Problem is a famous problem in Computer Science. It is a problem of placing n queens on an n x n chessboard such that no two queens attack each other. The problem is to find all possible solutions to the problem.
-{% resources %}
- {% Blog "https://www.digitalocean.com/community/tutorials/n-queens-problem-java-c-plus-plus", "N-Queens problem using backtracking in Java/C++" %}
- {% Blog "https://www.geeksforgeeks.org/n-queen-problem-backtracking-3/", "N Queen Problem | Backtracking-3" %}
- {% Blog "https://www.youtube.com/watch?v=xFv_Hl4B83A", "6.1 N Queens Problem using Backtracking" %}
-{% endresources %}
+Free Content
+N-Queens problem using backtracking in Java/C++
+N Queen Problem | Backtracking-3
+6.1 N Queens Problem using Backtracking
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/102-maze-solving-problem.md b/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/102-maze-solving-problem.md
index d0e40decf..f51c0adb6 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/102-maze-solving-problem.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/102-maze-solving-problem.md
@@ -2,9 +2,8 @@
Maze solving problem is a classic problem in computer science. It is a problem where we have to find a path from a starting point to an end point in a maze. The maze is represented as a grid of cells. Each cell can be either a wall or a path. The path cells are connected to each other. The starting point and the end point are also given. The goal is to find a path from the starting point to the end point. The path can only be made up of path cells. The path cannot go through the wall cells.
-{% resources %}
- {% Blog "https://github.com/john-science/mazelib/blob/main/docs/MAZE_SOLVE_ALGOS.md", "Maze Solving Algorithms" %}
- {% Blog "https://kidscodecs.com/maze-solving-algorithms/", "Maze Solving Algorithms" %}
- {% Blog "https://www.youtube.com/watch?v=rop0W4QDOUI", "Maze Solving - Computerphile" %}
- {% Blog "https://www.youtube.com/watch?v=XP94WC_XnZc", "Python Maze Solving Tutorial (Using Recursion)" %}
-{% endresources %}
+Free Content
+Maze Solving Algorithms
+Maze Solving Algorithms
+Maze Solving - Computerphile
+Python Maze Solving Tutorial (Using Recursion)
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/103-knights-tour-problem.md b/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/103-knights-tour-problem.md
index 572d47aa2..81b09ba50 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/103-knights-tour-problem.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/103-knights-tour-problem.md
@@ -2,9 +2,8 @@
Knight's Tour Problem is a problem where we have to find a path for a knight to visit all the cells of a chessboard without visiting any cell twice.
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/the-knights-tour-problem-backtracking-1/", "The Knight’s tour problem | Backtracking-1" %}
- {% Blog "https://bradfieldcs.com/algos/graphs/knights-tour/", "Knights Tour" %}
- {% Blog "https://www.codesdope.com/course/algorithms-knights-tour-problem/", "Knights Tour Proble" %}
- {% Blog "https://www.codingninjas.com/codestudio/library/backtracking-the-knights-tour-problem", "Backtracking: The Knight’s Tour Problem" %}
-{% endresources %}
+Free Content
+The Knight’s tour problem | Backtracking-1
+Knight's Tour
+Knight's Tour Proble
+Backtracking: The Knight’s Tour Problem
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/index.md b/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/index.md
deleted file mode 100644
index 58ef69c3c..000000000
--- a/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/index.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Back Tracking Algorithm
-
-Back tracking algorithms are used to solve problems that can be broken down into smaller sub-problems. The algorithm tries to solve each sub-problem and if it fails, it backtracks and tries to solve the sub-problem in a different way.
-
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/backtracking-algorithms", "Backtracking Algorithms" %}
- {% Blog "https://www.programiz.com/dsa/backtracking-algorithm", "Backtracking Algorithm" %}
-{% endresources %}
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/readme.md b/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/readme.md
new file mode 100644
index 000000000..f2dab2dbd
--- /dev/null
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/105-back-tracking-algorithms/readme.md
@@ -0,0 +1,7 @@
+# Back Tracking Algorithm
+
+Back tracking algorithms are used to solve problems that can be broken down into smaller sub-problems. The algorithm tries to solve each sub-problem and if it fails, it backtracks and tries to solve the sub-problem in a different way.
+
+Free Content
+Backtracking Algorithms
+Backtracking Algorithm
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/106-robin-karp-algorithm.md b/src/roadmaps/computer-science/content/104-common-algorithms/106-robin-karp-algorithm.md
index 2cda7eb1d..a69031e7f 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/106-robin-karp-algorithm.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/106-robin-karp-algorithm.md
@@ -2,10 +2,9 @@
Rabin-Karp algorithm is a string searching algorithm that uses hashing to find any one of a set of pattern strings in a text. For strings of average length `n`, it performs in `O(n+m)` time with `O(m)` space, where `m` is the length of the pattern. It is often used in bioinformatics to search for DNA patterns.
-{% resources %}
- {% Blog "https://www.coursera.org/lecture/data-structures/rabin-karps-algorithm-c0Qkw", "Rabin Karps Algorithm" %}
- {% Blog "https://www.coursera.org/learn/data-structures/lecture/nYrc8/optimization-precomputation", "Optimization: Precomputation" %}
- {% Blog "https://www.coursera.org/learn/data-structures/lecture/h4ZLc/optimization-implementation-and-analysis", "Optimization: Implementation and Analysis" %}
- {% Blog "https://www.youtube.com/watch?v=BRO7mVIFt08&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=9", "Lecture 9: Table Doubling, Karp-Rabin" %}
- {% Blog "https://www.youtube.com/watch?v=w6nuXg0BISo&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=33", "Rolling Hashes, Amortized Analysis" %}
-{% endresources %}
+Free Content
+Rabin Karp's Algorithm
+Optimization: Precomputation
+Optimization: Implementation and Analysis
+Lecture 9: Table Doubling, Karp-Rabin
+Rolling Hashes, Amortized Analysis
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/107-recursion/100-tail-recursion.md b/src/roadmaps/computer-science/content/104-common-algorithms/107-recursion/100-tail-recursion.md
index e80399043..1bf292136 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/107-recursion/100-tail-recursion.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/107-recursion/100-tail-recursion.md
@@ -2,7 +2,6 @@
Tail recursion is a special kind of recursion where the recursive call is the very last thing in the function. It's a function that does not do anything at all after recursing.
-{% resources %}
- {% Blog "https://www.quora.com/What-is-tail-recursion-Why-is-it-so-bad", "What is tail recursion? Why is it so bad?" %}
- {% Blog "https://www.coursera.org/lecture/programming-languages/tail-recursion-YZic1", "Tail Recursion" %}
-{% endresources %}
+Free Content
+What is tail recursion? Why is it so bad?
+Tail Recursion
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/107-recursion/101-non-tail-recursion.md b/src/roadmaps/computer-science/content/104-common-algorithms/107-recursion/101-non-tail-recursion.md
index 2ae9340ac..a89f9ed86 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/107-recursion/101-non-tail-recursion.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/107-recursion/101-non-tail-recursion.md
@@ -4,9 +4,8 @@ Tail recursion is when a function can directly return the result of a recursive
In “non-tail recursion”, there are outstanding operations after the recursive call, and the stack frame cannot be nuked.
-{% resources %}
- {% Blog "https://www.quora.com/What-is-non-tail-recursion", "What is non-tail recursion?" %}
- {% Blog "https://www.baeldung.com/cs/tail-vs-non-tail-recursion", "Tail vs Non-Tail Recursion" %}
- {% Blog "https://www.youtube.com/watch?v=IVLUGb_gDDE", "Recursion (Solved Problem 1)" %}
- {% Blog "https://www.youtube.com/watch?v=HIt_GPuD7wk", "Types of Recursion (Part 2) | Tail & Non-tail Recursion" %}
-{% endresources %}
+Free Content
+What is non-tail recursion?
+Tail vs Non-Tail Recursion
+Recursion (Solved Problem 1)
+Types of Recursion (Part 2) | Tail & Non-tail Recursion
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/107-recursion/index.md b/src/roadmaps/computer-science/content/104-common-algorithms/107-recursion/index.md
deleted file mode 100644
index 815c06454..000000000
--- a/src/roadmaps/computer-science/content/104-common-algorithms/107-recursion/index.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# Recursion
-
-Recursion is a method of solving problems where the solution depends on solutions to smaller instances of the same problem. A recursive algorithm must have a base case. A recursive algorithm calls itself, recursively.
-
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=rf60MejMz3E", "Recursion in 100 Seconds" %}
- {% Blog "https://www.youtube.com/watch?v=gl3emqCuueQ&list=PLFE6E58F856038C69&index=9", "Lecture 8 | Programming Abstractions (Stanford)" %}
- {% Blog "https://www.youtube.com/watch?v=uFJhEPrbycQ&list=PLFE6E58F856038C69&index=10", "Lecture 9 | Programming Abstractions (Stanford)" %}
- {% Blog "https://www.youtube.com/watch?v=NdF1QDTRkck&list=PLFE6E58F856038C69&index=11", "Lecture 10 | Programming Abstractions (Stanford)" %}
- {% Blog "https://www.youtube.com/watch?v=p-gpaIGRCQI&list=PLFE6E58F856038C69&index=12", "Lecture 11 | Programming Abstractions (Stanford)" %}
- {% Blog "https://www.youtube.com/watch?v=ngCos392W4w", "5 Simple Steps for Solving Any Recursive Problem" %}
-{% endresources %}
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/107-recursion/readme.md b/src/roadmaps/computer-science/content/104-common-algorithms/107-recursion/readme.md
new file mode 100644
index 000000000..85ab45126
--- /dev/null
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/107-recursion/readme.md
@@ -0,0 +1,11 @@
+# Recursion
+
+Recursion is a method of solving problems where the solution depends on solutions to smaller instances of the same problem. A recursive algorithm must have a base case. A recursive algorithm calls itself, recursively.
+
+Free Content
+Recursion in 100 Seconds
+Lecture 8 | Programming Abstractions (Stanford)
+Lecture 9 | Programming Abstractions (Stanford)
+Lecture 10 | Programming Abstractions (Stanford)
+Lecture 11 | Programming Abstractions (Stanford)
+5 Simple Steps for Solving Any Recursive Problem
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/108-search-algorithms/100-binary-search.md b/src/roadmaps/computer-science/content/104-common-algorithms/108-search-algorithms/100-binary-search.md
index 7df4121c7..cbb09f2b6 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/108-search-algorithms/100-binary-search.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/108-search-algorithms/100-binary-search.md
@@ -2,9 +2,8 @@
Binary search is a search algorithm that finds the position of a target value within a sorted array. Binary search compares the target value to the middle element of the array. If they are not equal, the half in which the target cannot lie is eliminated and the search continues on the remaining half, again taking the middle element to compare to the target value, and repeating this until the target value is found. If the search ends with the remaining half being empty, the target is not in the array.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=fDKIpRe8GW4&feature=youtu.be", "Binary Search in 4 Minutes" %}
- {% Blog "https://www.youtube.com/watch?v=D5SrAga1pno", "Binary Search - CS50" %}
- {% Blog "https://www.khanacademy.org/computing/computer-science/algorithms/binary-search/a/binary-search", "Binary Search - Khan Academy" %}
- {% Blog "https://www.topcoder.com/thrive/articles/Binary%20Search", "Binary Search" %}
-{% endresources %}
+Free Content
+Binary Search in 4 Minutes
+Binary Search - CS50
+Binary Search - Khan Academy
+Binary Search
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/108-search-algorithms/101-linear-search.md b/src/roadmaps/computer-science/content/104-common-algorithms/108-search-algorithms/101-linear-search.md
index 0230925c6..2edae0cfa 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/108-search-algorithms/101-linear-search.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/108-search-algorithms/101-linear-search.md
@@ -2,6 +2,5 @@
Linear search is a very simple algorithm that is used to search for a value in an array. It sequentially checks each element of the array until a match is found or until all the elements have been searched.
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/linear-search/", "Linear Search Algorithm" %}
-{% endresources %}
+Free Content
+Linear Search Algorithm
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/108-search-algorithms/index.md b/src/roadmaps/computer-science/content/104-common-algorithms/108-search-algorithms/index.md
deleted file mode 100644
index 785e7e57a..000000000
--- a/src/roadmaps/computer-science/content/104-common-algorithms/108-search-algorithms/index.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Search Algorithms
-
-Search algorithms are used to find a specific item in a collection of items. For example, if you have a list of names and you want to find a specific name, you can use a search algorithm to find that name.
-
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/searching-algorithms/", "Searching Algorithms" %}
- {% Blog "https://www.freecodecamp.org/news/search-algorithms-linear-and-binary-search-explained/", "Search Algorithms – Linear Search and Binary Search" %}
-{% endresources %}
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/108-search-algorithms/readme.md b/src/roadmaps/computer-science/content/104-common-algorithms/108-search-algorithms/readme.md
new file mode 100644
index 000000000..685371060
--- /dev/null
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/108-search-algorithms/readme.md
@@ -0,0 +1,7 @@
+# Search Algorithms
+
+Search algorithms are used to find a specific item in a collection of items. For example, if you have a list of names and you want to find a specific name, you can use a search algorithm to find that name.
+
+Free Content
+Searching Algorithms
+Search Algorithms – Linear Search and Binary Search
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/100-lru-cache.md b/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/100-lru-cache.md
index fd4b3b1ba..ef3688d9d 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/100-lru-cache.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/100-lru-cache.md
@@ -2,8 +2,7 @@
LRU cache is a cache that evicts the least recently used item first. It is a very common cache algorithm. It is used in many places, such as in the browser cache, the database cache, and the cache of the operating system.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=R5ON3iwx78M", "The Magic of LRU Cache (100 Days of Google Dev)" %}
- {% Blog "https://www.youtube.com/watch?v=bq6N7Ym81iI", "Implementing LRU - Udacity" %}
- {% Blog "https://www.youtube.com/watch?v=8-FZRAjR7qU", "LeetCode | 146 LRU Cache | C++ | Explanation" %}
-{% endresources %}
+Free Content
+The Magic of LRU Cache (100 Days of Google Dev)
+Implementing LRU - Udacity
+LeetCode | 146 LRU Cache | C++ | Explanation
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/101-lfu-cache.md b/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/101-lfu-cache.md
index 9572ef93b..0b2334503 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/101-lfu-cache.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/101-lfu-cache.md
@@ -2,7 +2,6 @@
LFU Cache is a data structure that stores key-value pairs. It has a fixed size and when it is full, it removes the least frequently used key-value pair. It is a variation of the LRU Cache and is used in many applications such as caching web pages, caching database queries, and caching images.
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/least-frequently-used-lfu-cache-implementation/", "Least Frequently Used (LFU) Cache Implementation" %}
- {% Blog "https://jojozhuang.github.io/algorithm/data-structure-lfu-cache/", "1117. Data Structure - LFU Cache" %}
-{% endresources %}
+Free Content
+Least Frequently Used (LFU) Cache Implementation
+1117. Data Structure - LFU Cache
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/102-mfu-cache.md b/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/102-mfu-cache.md
index 7b1daa169..c3b27dfe0 100644
--- a/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/102-mfu-cache.md
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/102-mfu-cache.md
@@ -2,7 +2,6 @@
MFU Cache is a variation of the LRU Cache. The difference is that instead of deleting the least recently used entry, the MFU Cache deletes the least frequently used entry.
-{% resources %}
- {% Blog "https://stackoverflow.com/questions/13597246/comparison-of-mfu-and-lru-page-replacement-algorithms", "Comparison of MFU and LRU page replacement algorithms" %}
- {% Blog "https://stackoverflow.com/questions/5088128/why-does-cache-use-most-recently-used-mru-algorithm-as-evict-policy", "Why does cache use Most Recently Used (MRU) algorithm as evict policy?" %}
-{% endresources %}
+Free Content
+Comparison of MFU and LRU page replacement algorithms
+Why does cache use Most Recently Used (MRU) algorithm as evict policy?
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/index.md b/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/index.md
deleted file mode 100644
index d8b74c097..000000000
--- a/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/index.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Cache Algorithms
-
-Cache algorithms are used to manage the cache memory of a computer. Cache memory is a small amount of memory that is used to store data that is frequently accessed. This allows the computer to access the data faster than if it had to go to the main memory. Cache algorithms are used to determine which data should be stored in the cache memory and which data should be removed from the cache memory.
-
-{% resources %}
- {% Blog "https://dev.to/satrobit/cache-replacement-algorithms-how-to-efficiently-manage-the-cache-storage-2ne1", "Cache Replacement Algorithms: How To Efficiently Manage The Cache Storage" %}
- {% Blog "https://www.youtube.com/watch?v=xDKnMXtZKq8", "14. Caching and Cache-Efficient Algorithms" %}
-{% endresources %}
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/readme.md b/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/readme.md
new file mode 100644
index 000000000..57f7c0503
--- /dev/null
+++ b/src/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/readme.md
@@ -0,0 +1,7 @@
+# Cache Algorithms
+
+Cache algorithms are used to manage the cache memory of a computer. Cache memory is a small amount of memory that is used to store data that is frequently accessed. This allows the computer to access the data faster than if it had to go to the main memory. Cache algorithms are used to determine which data should be stored in the cache memory and which data should be removed from the cache memory.
+
+Free Content
+Cache Replacement Algorithms: How To Efficiently Manage The Cache Storage
+14. Caching and Cache-Efficient Algorithms
diff --git a/src/roadmaps/computer-science/content/104-common-algorithms/index.md b/src/roadmaps/computer-science/content/104-common-algorithms/readme.md
similarity index 100%
rename from src/roadmaps/computer-science/content/104-common-algorithms/index.md
rename to src/roadmaps/computer-science/content/104-common-algorithms/readme.md
diff --git a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/100-suffix-arrays.md b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/100-suffix-arrays.md
index 0607b1aa6..880f159b3 100644
--- a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/100-suffix-arrays.md
+++ b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/100-suffix-arrays.md
@@ -2,10 +2,9 @@
Suffix arrays are a data structure that allows us to quickly find all the suffixes of a string in lexicographical order. This is useful for many problems, such as finding the longest common substring between two strings, or finding the number of distinct substrings of a string.
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/suffix-array-set-1-introduction/", "Suffix Array | Set 1 (Introduction)" %}
- {% Blog "https://www.youtube.com/watch?v=zqKlL3ZpTqs", "Suffix array introduction" %}
- {% Blog "https://www.youtube.com/watch?v=IzMxbboPcqQ", "Advanced Data Structures: Suffix Arrays" %}
- {% Blog "https://www.youtube.com/watch?v=ZWlbhBjjwyA", "Suffix arrays: building" %}
- {% Blog "https://www.coursera.org/learn/algorithms-part2/lecture/TH18W/suffix-arrays", "Suffix Arrays - Coursera" %}
-{% endresources %}
+Free Content
+Suffix Array | Set 1 (Introduction)
+Suffix array introduction
+Advanced Data Structures: Suffix Arrays
+Suffix arrays: building
+Suffix Arrays - Coursera
diff --git a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/101-search-pattern-in-text.md b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/101-search-pattern-in-text.md
index 3560156cf..12546b634 100644
--- a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/101-search-pattern-in-text.md
+++ b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/101-search-pattern-in-text.md
@@ -2,6 +2,5 @@
Searching pattern in text is a very common task in computer science. It is used in many applications like spell checkers, text editors, and many more.
-{% resources %}
- {% Blog "https://www.coursera.org/learn/data-structures/lecture/tAfHI/search-pattern-in-text", "Search Pattern in Text" %}
-{% endresources %}
+Free Content
+Search Pattern in Text
diff --git a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/100-brute-force-search.md b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/100-brute-force-search.md
index eb4bccfc8..5ae8fb342 100644
--- a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/100-brute-force-search.md
+++ b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/100-brute-force-search.md
@@ -2,8 +2,7 @@
Brute force search is a simple algorithm that checks for a pattern in a string by comparing each character of the string with the first character of the pattern. If the first character matches, it then compares the next character of the string with the next character of the pattern and so on. If all the characters of the pattern match, then the pattern is found. If the first character does not match, then the algorithm compares the second character of the string with the first character of the pattern and so on.
-{% resources %}
- {% Blog "https://nulpointerexception.com/2019/02/10/a-beginner-guide-to-brute-force-algorithm-for-substring-search/", "A beginner guide to Brute Force Algorithm for substring search" %}
- {% Blog "https://www.baeldung.com/cs/brute-force-cybersecurity-string-search", "Brute Force Algorithm in Cybersecurity and String Search" %}
- {% Blog "https://www.coursera.org/learn/algorithms-part2/lecture/2Kn5i/brute-force-substring-search", "Brute-Force Substring Search" %}
-{% endresources %}
+Free Content
+A beginner guide to Brute Force Algorithm for substring search
+Brute Force Algorithm in Cybersecurity and String Search
+Brute-Force Substring Search
diff --git a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/101-knuth-morris-pratt.md b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/101-knuth-morris-pratt.md
index c82585a05..d67ac568c 100644
--- a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/101-knuth-morris-pratt.md
+++ b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/101-knuth-morris-pratt.md
@@ -7,9 +7,8 @@ Knuth morris pratt is a string searching algorithm that uses a precomputed array
* If the characters match, increment the index of both the string and substring.
* If the characters don't match, increment the index of the string by the value of the prefix function at the index of the substring.
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/kmp-algorithm-for-pattern-searching/", "KMP Algorithm for Pattern Searching" %}
- {% Blog "https://www.javatpoint.com/daa-knuth-morris-pratt-algorithm", "The Knuth-Morris-Pratt (KMP)Algorithm" %}
- {% Blog "https://www.youtube.com/watch?v=V5-7GzOfADQ", "9.1 Knuth-Morris-Pratt KMP String Matching Algorithm" %}
- {% Blog "https://www.coursera.org/learn/algorithms-part2/lecture/TAtDr/knuth-morris-pratt", "Knuth-Morris Pratt" %}
-{% endresources %}
+Free Content
+KMP Algorithm for Pattern Searching
+The Knuth-Morris-Pratt (KMP)Algorithm
+9.1 Knuth-Morris-Pratt KMP String Matching Algorithm
+Knuth-Morris Pratt
diff --git a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/102-boyer-moore.md b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/102-boyer-moore.md
index e886f22cc..1e8c607af 100644
--- a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/102-boyer-moore.md
+++ b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/102-boyer-moore.md
@@ -2,8 +2,7 @@
Boyer Moore algorithm is a string searching algorithm that is used to find the index of a substring in a string. It is a very efficient algorithm that is used in many applications. It is used in text editors, compilers, and many other applications.
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/boyer-moore-algorithm-for-pattern-searching/", "Boyer Moore Algorithm for Pattern Searching" %}
- {% Blog "https://www.javatpoint.com/daa-boyer-moore-algorithm", "The Boyer-Moore Algorithm" %}
- {% Blog "https://www.coursera.org/learn/algorithms-part2/lecture/CYxOT/boyer-moore", "Boyer Moore Algorithm" %}
-{% endresources %}
+Free Content
+Boyer Moore Algorithm for Pattern Searching
+The Boyer-Moore Algorithm
+Boyer Moore Algorithm
diff --git a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/103-rabin-karp.md b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/103-rabin-karp.md
index 2cda7eb1d..a69031e7f 100644
--- a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/103-rabin-karp.md
+++ b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/103-rabin-karp.md
@@ -2,10 +2,9 @@
Rabin-Karp algorithm is a string searching algorithm that uses hashing to find any one of a set of pattern strings in a text. For strings of average length `n`, it performs in `O(n+m)` time with `O(m)` space, where `m` is the length of the pattern. It is often used in bioinformatics to search for DNA patterns.
-{% resources %}
- {% Blog "https://www.coursera.org/lecture/data-structures/rabin-karps-algorithm-c0Qkw", "Rabin Karps Algorithm" %}
- {% Blog "https://www.coursera.org/learn/data-structures/lecture/nYrc8/optimization-precomputation", "Optimization: Precomputation" %}
- {% Blog "https://www.coursera.org/learn/data-structures/lecture/h4ZLc/optimization-implementation-and-analysis", "Optimization: Implementation and Analysis" %}
- {% Blog "https://www.youtube.com/watch?v=BRO7mVIFt08&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=9", "Lecture 9: Table Doubling, Karp-Rabin" %}
- {% Blog "https://www.youtube.com/watch?v=w6nuXg0BISo&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=33", "Rolling Hashes, Amortized Analysis" %}
-{% endresources %}
+Free Content
+Rabin Karp's Algorithm
+Optimization: Precomputation
+Optimization: Implementation and Analysis
+Lecture 9: Table Doubling, Karp-Rabin
+Rolling Hashes, Amortized Analysis
diff --git a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/index.md b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/index.md
deleted file mode 100644
index e3e720aff..000000000
--- a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/index.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# Substring Search
-
-Substring search is the problem of finding a substring in a string. This is a very common problem in computer science, and there are many algorithms for solving it.
-
-{% resources %}
- {% Blog "https://www.coursera.org/lecture/algorithms-part2/introduction-to-substring-search-n3ZpG", "Introduction to Substring Search" %}
- {% Blog "https://stackoverflow.com/questions/3183582/what-is-the-fastest-substring-search-algorithm", "What is the fastest substring search algorithm?" %}
- {% Blog "https://www.geeksforgeeks.org/check-string-substring-another/", "Check if a string is substring of another" %}
- {% Blog "https://www.geeksforgeeks.org/anagram-substring-search-search-permutations/", "Anagram Substring Search (Or Search for all permutations)" %}
- {% Blog "https://algs4.cs.princeton.edu/53substring/", "Substring Search - Exercises" %}
-{% endresources %}
-
diff --git a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/readme.md b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/readme.md
new file mode 100644
index 000000000..4c3ffe636
--- /dev/null
+++ b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/102-substring-search/readme.md
@@ -0,0 +1,11 @@
+# Substring Search
+
+Substring search is the problem of finding a substring in a string. This is a very common problem in computer science, and there are many algorithms for solving it.
+
+Free Content
+Introduction to Substring Search
+What is the fastest substring search algorithm?
+Check if a string is substring of another
+Anagram Substring Search (Or Search for all permutations)
+Substring Search - Exercises
+
diff --git a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/index.md b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/index.md
deleted file mode 100644
index f25b268bb..000000000
--- a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/index.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# String Search and Manipulations
-
-String search and manipulation is a very important topic in computer science. It is used in many different applications, such as searching or replacing a specific pattern, word or character in a string.
-
-{% resources %}
- {% Blog "https://en.wikipedia.org/wiki/String-searching_algorithm", "String-searching algorithm" %}
- {% Blog "https://www.geeksforgeeks.org/algorithms-gq/pattern-searching/", "Pattern Searching" %}
- {% Blog "https://www.geeksforgeeks.org/applications-of-string-matching-algorithms/", "Applications of String Matching Algorithms" %}
-{% endresources %}
diff --git a/src/roadmaps/computer-science/content/105-string-search-and-manipulations/readme.md b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/readme.md
new file mode 100644
index 000000000..d37e88372
--- /dev/null
+++ b/src/roadmaps/computer-science/content/105-string-search-and-manipulations/readme.md
@@ -0,0 +1,8 @@
+# String Search and Manipulations
+
+String search and manipulation is a very important topic in computer science. It is used in many different applications, such as searching or replacing a specific pattern, word or character in a string.
+
+Free Content
+String-searching algorithm
+Pattern Searching
+Applications of String Matching Algorithms
diff --git a/src/roadmaps/computer-science/content/106-bitwise-operators.md b/src/roadmaps/computer-science/content/106-bitwise-operators.md
index 597021bb8..b3328fad5 100644
--- a/src/roadmaps/computer-science/content/106-bitwise-operators.md
+++ b/src/roadmaps/computer-science/content/106-bitwise-operators.md
@@ -2,8 +2,7 @@
Bitwise operators are used to perform operations on individual bits of a number. They are used in cryptography, image processing, and other applications.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=7jkIUgLC29I", "Bit Manipulation" %}
- {% Blog "https://www.youtube.com/watch?v=lKTsv6iVxV4", "Binary: Plusses & Minuses (Why We Use Twos Complement) - Computerphile" %}
- {% Blog "https://www.youtube.com/watch?v=NLKQEOgBAnw", "Algorithms: Bit Manipulation" %}
-{% endresources %}
+Free Content
+Bit Manipulation
+Binary: Plusses & Minuses (Why We Use Two's Complement) - Computerphile
+Algorithms: Bit Manipulation
diff --git a/src/roadmaps/computer-science/content/107-floating-point-numbers.md b/src/roadmaps/computer-science/content/107-floating-point-numbers.md
index 40de62ef8..7c583e01c 100644
--- a/src/roadmaps/computer-science/content/107-floating-point-numbers.md
+++ b/src/roadmaps/computer-science/content/107-floating-point-numbers.md
@@ -2,7 +2,6 @@
Floating point numbers are numbers that have a decimal point in them. They are used to represent real numbers. For example, 3.14 is a floating point number. 3 is not a floating point number because it does not have a decimal point in it.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=ji3SfClm8TU", "Representation of Floating Point Numbers - 1" %}
- {% Blog "https://www.youtube.com/watch?v=RIiq4tTt6rI", "Why 0.1 + 0.2 != 0.3? | Floating Point Math" %}
-{% endresources %}
+Free Content
+Representation of Floating Point Numbers - 1
+Why 0.1 + 0.2 != 0.3? | Floating Point Math
diff --git a/src/roadmaps/computer-science/content/108-endianess/100-big-endian.md b/src/roadmaps/computer-science/content/108-endianess/100-big-endian.md
index 9cc22cdaf..4ec75b779 100644
--- a/src/roadmaps/computer-science/content/108-endianess/100-big-endian.md
+++ b/src/roadmaps/computer-science/content/108-endianess/100-big-endian.md
@@ -2,7 +2,6 @@
Big endian is the most common type of endianness. In this type, the most significant byte is stored at the lowest memory address. This means that the most significant byte is stored first and the least significant byte is stored last.
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/little-and-big-endian-mystery/", "Little and Big Endian Mystery" %}
- {% Blog "https://www.youtube.com/watch?v=T1C9Kj_78ek", "Lecture 22. Big Endian and Little Endian" %}
-{% endresources %}
+Free Content
+Little and Big Endian Mystery
+Lecture 22. Big Endian and Little Endian
diff --git a/src/roadmaps/computer-science/content/108-endianess/101-little-endian.md b/src/roadmaps/computer-science/content/108-endianess/101-little-endian.md
index 77124f941..7eae0efed 100644
--- a/src/roadmaps/computer-science/content/108-endianess/101-little-endian.md
+++ b/src/roadmaps/computer-science/content/108-endianess/101-little-endian.md
@@ -2,8 +2,7 @@
Little Endian is a way of storing data in memory. It is the opposite of Big Endian. In Little Endian, the least significant byte is stored first. In Big Endian, the most significant byte is stored first.
-{% resources %}
- {% Blog "https://www.freecodecamp.org/news/what-is-endianness-big-endian-vs-little-endian/", "What is Endianness? Big-Endian vs Little-Endian Explained with Examples" %}
- {% Blog "https://www.youtube.com/watch?v=JrNF0KRAlyo", "Big Endian vs Little Endian.mp4" %}
- {% Blog "https://www.youtube.com/watch?v=NcaiHcBvDR4", "Endianness Explained With an Egg - Computerphile" %}
-{% endresources %}
+Free Content
+What is Endianness? Big-Endian vs Little-Endian Explained with Examples
+Big Endian vs Little Endian.mp4
+Endianness Explained With an Egg - Computerphile
diff --git a/src/roadmaps/computer-science/content/108-endianess/index.md b/src/roadmaps/computer-science/content/108-endianess/index.md
deleted file mode 100644
index 756d6f1b6..000000000
--- a/src/roadmaps/computer-science/content/108-endianess/index.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Endianess
-
-Endianess is the order in which bytes are stored in memory. The two most common types of endianess are big endian and little endian. Big endian stores the most significant byte first, while little endian stores the least significant byte first.
-
-{% resources %}
- {% Blog "https://www.freecodecamp.org/news/what-is-endianness-big-endian-vs-little-endian/", "What is Endianness? Big-Endian vs Little-Endian Explained with Examples" %}
- {% Blog "https://www.youtube.com/watch?v=JrNF0KRAlyo", "Big Endian vs Little Endian.mp4" %}
- {% Blog "https://www.youtube.com/watch?v=NcaiHcBvDR4", "Endianness Explained With an Egg - Computerphile" %}
-{% endresources %}
diff --git a/src/roadmaps/computer-science/content/108-endianess/readme.md b/src/roadmaps/computer-science/content/108-endianess/readme.md
new file mode 100644
index 000000000..6678ec4c4
--- /dev/null
+++ b/src/roadmaps/computer-science/content/108-endianess/readme.md
@@ -0,0 +1,8 @@
+# Endianess
+
+Endianess is the order in which bytes are stored in memory. The two most common types of endianess are big endian and little endian. Big endian stores the most significant byte first, while little endian stores the least significant byte first.
+
+Free Content
+What is Endianness? Big-Endian vs Little-Endian Explained with Examples
+Big Endian vs Little Endian.mp4
+Endianness Explained With an Egg - Computerphile
diff --git a/src/roadmaps/computer-science/content/109-character-encodings/100-unicode.md b/src/roadmaps/computer-science/content/109-character-encodings/100-unicode.md
index 5f2b97c9a..1c580de4c 100644
--- a/src/roadmaps/computer-science/content/109-character-encodings/100-unicode.md
+++ b/src/roadmaps/computer-science/content/109-character-encodings/100-unicode.md
@@ -2,7 +2,6 @@
Unicode is a standard for encoding characters. It is a superset of ASCII, which means that ASCII is a subset of Unicode. Unicode is a 16-bit encoding, which means that it can encode 2^16 = 65536 characters. This is a lot more than ASCII, which can only encode 128 characters.
-{% resources %}
- {% Blog "https://deliciousbrains.com/how-unicode-works/", "How Unicode Works: What Every Developer Needs to Know About Strings and 🦄" %}
- {% Blog "https://www.youtube.com/watch?v=MijmeoH9LT4", "Characters, Symbols and the Unicode Miracle - Computerphile" %}
-{% endresources %}
+Free Content
+How Unicode Works: What Every Developer Needs to Know About Strings and 🦄
+Characters, Symbols and the Unicode Miracle - Computerphile
diff --git a/src/roadmaps/computer-science/content/109-character-encodings/101-ascii.md b/src/roadmaps/computer-science/content/109-character-encodings/101-ascii.md
index e23a185da..2b8f890a6 100644
--- a/src/roadmaps/computer-science/content/109-character-encodings/101-ascii.md
+++ b/src/roadmaps/computer-science/content/109-character-encodings/101-ascii.md
@@ -2,7 +2,6 @@
ASCII is a character encoding standard for electronic communication. It was developed from telegraph code and uses 7 bits to represent 128 different characters. The first 32 characters are non-printable control characters used to control devices like printers and typewriters. The remaining 96 characters are printable and include the letters of the English alphabet, numbers, punctuation, and various symbols.
-{% resources %}
- {% Blog "https://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-excuses/", "Must Know about Character Encodings" %}
- {% Blog "https://cs.lmu.edu/~ray/notes/charenc/", "Character Encoding" %}
-{% endresources %}
+Free Content
+Must Know about Character Encodings
+Character Encoding
diff --git a/src/roadmaps/computer-science/content/109-character-encodings/index.md b/src/roadmaps/computer-science/content/109-character-encodings/readme.md
similarity index 58%
rename from src/roadmaps/computer-science/content/109-character-encodings/index.md
rename to src/roadmaps/computer-science/content/109-character-encodings/readme.md
index a5059bcd5..a54615281 100644
--- a/src/roadmaps/computer-science/content/109-character-encodings/index.md
+++ b/src/roadmaps/computer-science/content/109-character-encodings/readme.md
@@ -2,7 +2,6 @@
Character encodings are a way of representing characters as numbers. They are used to store and transmit text. The most common character encoding is ASCII, which is a 7-bit encoding. This means that each character is represented by a number between 0 and 127. The ASCII character set contains 128 characters, including letters, numbers, punctuation, and control characters. The ASCII character set is a subset of the Unicode character set, which is a 16-bit encoding. Unicode is a superset of ASCII, so ASCII characters can be represented by Unicode. Unicode is the most common character encoding used on the web.
-{% resources %}
- {% Blog "https://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-excuses/", "Must Know about Character Encodings" %}
- {% Blog "https://cs.lmu.edu/~ray/notes/charenc/", "Character Encoding" %}
-{% endresources %}
+Free Content
+Must Know about Character Encodings
+Character Encoding
diff --git a/src/roadmaps/computer-science/content/110-common-uml-diagrams/100-class-diagrams.md b/src/roadmaps/computer-science/content/110-common-uml-diagrams/100-class-diagrams.md
index f37d68796..69dd03b4e 100644
--- a/src/roadmaps/computer-science/content/110-common-uml-diagrams/100-class-diagrams.md
+++ b/src/roadmaps/computer-science/content/110-common-uml-diagrams/100-class-diagrams.md
@@ -2,8 +2,7 @@
Class Diagrams are used to model the static structure of a system. They are used to show the classes, their attributes, operations (or methods), and the relationships between objects.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=UI6lqHOVHic", "UML Class Diagram Tutorial" %}
- {% Blog "https://www.youtube.com/watch?v=3cmzqZzwNDM&list=PLfoY2ARMh0hC2FcJKP5voAKCpk6PZXSd5&index=2", "UML Class Diagram Tutorial" %}
-{% endresources %}
+Free Content
+UML Class Diagram Tutorial
+UML Class Diagram Tutorial
diff --git a/src/roadmaps/computer-science/content/110-common-uml-diagrams/102-usecase-diagrams.md b/src/roadmaps/computer-science/content/110-common-uml-diagrams/102-usecase-diagrams.md
index 50626b172..577ea9def 100644
--- a/src/roadmaps/computer-science/content/110-common-uml-diagrams/102-usecase-diagrams.md
+++ b/src/roadmaps/computer-science/content/110-common-uml-diagrams/102-usecase-diagrams.md
@@ -8,8 +8,7 @@ A usecase is a task that the system performs. Usecases are represented by an ell
A usecase diagram is a diagram that shows the actors and the usecases of the system. The diagram is represented by a rectangle that contains the name of the system inside it. The actors are represented by rectangles and the usecases are represented by ellipses.
-{% resources %}
- {% Blog "https://www.lucidchart.com/pages/uml-use-case-diagram", "UML Use Case Diagram Tutorial" %}
- {% Blog "https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-use-case-diagram/", "What is Use Case Diagram?" %}
- {% Blog "https://www.youtube.com/watch?v=zid-MVo7M-E", "UML Use Case Diagram Tutorial" %}
-{% endresources %}
+Free Content
+UML Use Case Diagram Tutorial
+What is Use Case Diagram?
+UML Use Case Diagram Tutorial
diff --git a/src/roadmaps/computer-science/content/110-common-uml-diagrams/103-activity-diagrams.md b/src/roadmaps/computer-science/content/110-common-uml-diagrams/103-activity-diagrams.md
index 04baeec33..22a3af0f9 100644
--- a/src/roadmaps/computer-science/content/110-common-uml-diagrams/103-activity-diagrams.md
+++ b/src/roadmaps/computer-science/content/110-common-uml-diagrams/103-activity-diagrams.md
@@ -2,7 +2,6 @@
Activity diagrams are used to model the flow of control in a system. They are used in conjunction with use case diagrams to model the behavior of the system for each use case. They are also used to model the behavior of a single class.
-{% resources %}
- {% Blog "https://www.lucidchart.com/pages/uml-activity-diagram", "UML Activity Diagram Tutorial" %}
- {% Blog "https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-activity-diagram/", "What is Activity Diagram?" %}
-{% endresources %}
+Free Content
+UML Activity Diagram Tutorial
+What is Activity Diagram?
diff --git a/src/roadmaps/computer-science/content/110-common-uml-diagrams/104-statemachine-diagrams.md b/src/roadmaps/computer-science/content/110-common-uml-diagrams/104-statemachine-diagrams.md
index e123b1fdc..ebda727d2 100644
--- a/src/roadmaps/computer-science/content/110-common-uml-diagrams/104-statemachine-diagrams.md
+++ b/src/roadmaps/computer-science/content/110-common-uml-diagrams/104-statemachine-diagrams.md
@@ -2,8 +2,7 @@
State machine diagrams are used to show the different states an object can be in at a given time. The object can be in one and only one state at a given time. State machine diagrams are similar to activity diagrams, but they are more focused on the flow of an object's state rather than the flow of the object itself.
-{% resources %}
- {% Blog "https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-state-machine-diagram/", "What is State Machine Diagram?" %}
- {% Blog "https://www.lucidchart.com/pages/uml-state-machine-diagram", "State Machine Diagram Tutorial" %}
- {% Blog "https://www.sciencedirect.com/topics/computer-science/state-machine-diagram", "State Machine Diagram" %}
-{% endresources %}
+Free Content
+What is State Machine Diagram?
+State Machine Diagram Tutorial
+State Machine Diagram
diff --git a/src/roadmaps/computer-science/content/110-common-uml-diagrams/105-sequence-diagrams.md b/src/roadmaps/computer-science/content/110-common-uml-diagrams/105-sequence-diagrams.md
index ea91ae00b..0946d8862 100644
--- a/src/roadmaps/computer-science/content/110-common-uml-diagrams/105-sequence-diagrams.md
+++ b/src/roadmaps/computer-science/content/110-common-uml-diagrams/105-sequence-diagrams.md
@@ -2,7 +2,6 @@
Sequence diagrams are a way to show how objects or systems interact with each other over time.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=pCK6prSq8aw", "How to Make a UML Sequence Diagram" %}
- {% Blog "https://www.youtube.com/watch?v=cxG-qWthxt4&list=PLfoY2ARMh0hBthB9VqsQzogSouTjzkMHe&index=2", "Sequence Diagrams Tutorial" %}
-{% endresources %}
+Free Content
+How to Make a UML Sequence Diagram
+Sequence Diagrams Tutorial
diff --git a/src/roadmaps/computer-science/content/110-common-uml-diagrams/index.md b/src/roadmaps/computer-science/content/110-common-uml-diagrams/readme.md
similarity index 52%
rename from src/roadmaps/computer-science/content/110-common-uml-diagrams/index.md
rename to src/roadmaps/computer-science/content/110-common-uml-diagrams/readme.md
index 1d4d96310..0d1449ecf 100644
--- a/src/roadmaps/computer-science/content/110-common-uml-diagrams/index.md
+++ b/src/roadmaps/computer-science/content/110-common-uml-diagrams/readme.md
@@ -2,6 +2,5 @@
UML is a standard way of visualizing a software system. It is a general-purpose, developmental, modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=WnMQ8HlmeXc", "UML Diagrams Full Course (Unified Modeling Language)" %}
-{% endresources %}
+Free Content
+UML Diagrams Full Course (Unified Modeling Language)
diff --git a/src/roadmaps/computer-science/content/111-design-patterns/100-gof-design-patterns.md b/src/roadmaps/computer-science/content/111-design-patterns/100-gof-design-patterns.md
index 55b6af3f2..d80982929 100644
--- a/src/roadmaps/computer-science/content/111-design-patterns/100-gof-design-patterns.md
+++ b/src/roadmaps/computer-science/content/111-design-patterns/100-gof-design-patterns.md
@@ -2,6 +2,5 @@
Gang of Four (GoF) design patterns are a set of 23 design patterns that were first described in the book "Design Patterns: Elements of Reusable Object-Oriented Software" by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. The book is commonly referred to as the "Gang of Four book".
-{% resources %}
- {% Blog "https://github.com/kamranahmedse/design-patterns-for-humans", "Design Patterns for Humans" %}
-{% endresources %}
+Free Content
+Design Patterns for Humans
diff --git a/src/roadmaps/computer-science/content/111-design-patterns/101-architectural-patterns.md b/src/roadmaps/computer-science/content/111-design-patterns/101-architectural-patterns.md
index ae7fefa52..c301c1bef 100644
--- a/src/roadmaps/computer-science/content/111-design-patterns/101-architectural-patterns.md
+++ b/src/roadmaps/computer-science/content/111-design-patterns/101-architectural-patterns.md
@@ -2,7 +2,6 @@
Architectural patterns are a high-level design pattern that focuses on the overall structure of the system. They are similar to design patterns, but they are more concerned with the structure of the system. They are used to solve problems that are common to many software systems.
-{% resources %}
- {% Blog "https://towardsdatascience.com/10-common-software-architectural-patterns-in-a-nutshell-a0b47a1e9013", "10 Common Software Architectural Patterns in a nutshell" %}
- {% Blog "https://en.wikipedia.org/wiki/Architectural_pattern", "Architectural Pattern - Wikipedia" %}
-{% endresources %}
+Free Content
+10 Common Software Architectural Patterns in a nutshell
+Architectural Pattern - Wikipedia
diff --git a/src/roadmaps/computer-science/content/111-design-patterns/102-dependency-injection.md b/src/roadmaps/computer-science/content/111-design-patterns/102-dependency-injection.md
index 9ef89a014..4bf9e4d22 100644
--- a/src/roadmaps/computer-science/content/111-design-patterns/102-dependency-injection.md
+++ b/src/roadmaps/computer-science/content/111-design-patterns/102-dependency-injection.md
@@ -2,7 +2,6 @@
Dependency injection is a software design pattern that allows us to decouple the dependencies of a class from the class itself. This allows us to write more flexible and testable code.
-{% resources %}
- {% Blog "https://stackoverflow.com/questions/130794/what-is-dependency-injection", "Dependency Injection - StackOverflow" %}
- {% Blog "https://www.youtube.com/watch?v=0yc2UANSDiw", "What is Dependency Injection?" %}
-{% endresources %}
+Free Content
+Dependency Injection - StackOverflow
+What is Dependency Injection?
diff --git a/src/roadmaps/computer-science/content/111-design-patterns/103-null-object-pattern.md b/src/roadmaps/computer-science/content/111-design-patterns/103-null-object-pattern.md
index 21ddc4aba..49b8a648f 100644
--- a/src/roadmaps/computer-science/content/111-design-patterns/103-null-object-pattern.md
+++ b/src/roadmaps/computer-science/content/111-design-patterns/103-null-object-pattern.md
@@ -2,7 +2,6 @@
Null object pattern is a design pattern that is used to represent a null value with an object. It is a way to avoid null reference exceptions by providing a default object that does nothing. It is a way to provide a default behavior in case data is not available.
-{% resources %}
- {% Blog "https://www.tutorialspoint.com/design_pattern/null_object_pattern.htm", "Design Patterns - Null Object Pattern" %}
- {% Blog "https://www.geeksforgeeks.org/null-object-design-pattern/", "Null Object Design Pattern - Geeks for Geeks" %}
-{% endresources %}
+Free Content
+Design Patterns - Null Object Pattern
+Null Object Design Pattern - Geeks for Geeks
diff --git a/src/roadmaps/computer-science/content/111-design-patterns/104-type-object-pattern.md b/src/roadmaps/computer-science/content/111-design-patterns/104-type-object-pattern.md
index 60e8d1348..09056d4bf 100644
--- a/src/roadmaps/computer-science/content/111-design-patterns/104-type-object-pattern.md
+++ b/src/roadmaps/computer-science/content/111-design-patterns/104-type-object-pattern.md
@@ -2,6 +2,5 @@
Type object pattern is a creational design pattern that allows us to create a new object of a type without exposing the object creation logic to the client. It is used when we need to create a new object of a type, but we don't know which type we need to create until runtime. It is like a factory pattern, but instead of returning a new object of a type, it returns a new object of a type that is already created.
-{% resources %}
- {% Blog "https://gameprogrammingpatterns.com/type-object.html", "Type Object Pattern" %}
-{% endresources %}
+Free Content
+Type Object Pattern
diff --git a/src/roadmaps/computer-science/content/111-design-patterns/index.md b/src/roadmaps/computer-science/content/111-design-patterns/readme.md
similarity index 51%
rename from src/roadmaps/computer-science/content/111-design-patterns/index.md
rename to src/roadmaps/computer-science/content/111-design-patterns/readme.md
index a3d361469..a44af17e0 100644
--- a/src/roadmaps/computer-science/content/111-design-patterns/index.md
+++ b/src/roadmaps/computer-science/content/111-design-patterns/readme.md
@@ -2,6 +2,5 @@
Design patterns are solutions to common problems in software design. They are formalized best practices that the programmer can use to solve common problems when designing an application or system.
-{% resources %}
- {% Blog "https://en.wikipedia.org/wiki/Software_design_pattern", "Design Patterns - Wikipedia" %}
-{% endresources %}
+Free Content
+Design Patterns - Wikipedia
diff --git a/src/roadmaps/computer-science/content/112-basic-math-skills/100-probability.md b/src/roadmaps/computer-science/content/112-basic-math-skills/100-probability.md
index 9d2731c0e..c220858f1 100644
--- a/src/roadmaps/computer-science/content/112-basic-math-skills/100-probability.md
+++ b/src/roadmaps/computer-science/content/112-basic-math-skills/100-probability.md
@@ -2,13 +2,11 @@
Probability is the study of how likely an event is to occur. It is a measure of how certain we are that an event will happen.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=SmFwFdESMHI&index=18&list=PLB7540DEDD482705B", "MIT 6.042J - Probability Introduction" %}
- {% Blog "https://www.youtube.com/watch?v=E6FbvM-FGZ8&index=19&list=PLB7540DEDD482705B", "MIT 6.042J - Conditional Probability" %}
- {% Blog "https://www.youtube.com/watch?v=l1BCv3qqW4A&index=20&list=PLB7540DEDD482705B", "MIT 6.042J - Independence" %}
- {% Blog "https://www.youtube.com/watch?v=MOfhhFaQdjw&list=PLB7540DEDD482705B&index=21", "MIT 6.042J - Random Variables" %}
- {% Blog "https://www.youtube.com/watch?v=gGlMSe7uEkA&index=22&list=PLB7540DEDD482705B", "MIT 6.042J - Expectation I" %}
- {% Blog "https://www.youtube.com/watch?v=oI9fMUqgfxY&index=23&list=PLB7540DEDD482705B", "MIT 6.042J - Expectation II" %}
- {% Blog "https://www.youtube.com/watch?v=q4mwO2qS2z4&index=24&list=PLB7540DEDD482705B", "MIT 6.042J - Large Deviations" %}
- {% Blog "https://www.youtube.com/watch?v=56iFMY8QW2k&list=PLB7540DEDD482705B&index=25", "MIT 6.042J - Random Walks" %}
-{% endresources %}
+MIT 6.042J - Probability Introduction
+MIT 6.042J - Conditional Probability
+MIT 6.042J - Independence
+MIT 6.042J - Random Variables
+MIT 6.042J - Expectation I
+MIT 6.042J - Expectation II
+MIT 6.042J - Large Deviations
+MIT 6.042J - Random Walks
diff --git a/src/roadmaps/computer-science/content/112-basic-math-skills/101-combinatorics.md b/src/roadmaps/computer-science/content/112-basic-math-skills/101-combinatorics.md
index 42da5a64f..d6b6f8a07 100644
--- a/src/roadmaps/computer-science/content/112-basic-math-skills/101-combinatorics.md
+++ b/src/roadmaps/computer-science/content/112-basic-math-skills/101-combinatorics.md
@@ -2,9 +2,8 @@
Combinatorics is the study of counting. It is a branch of mathematics that is used to solve problems in a variety of fields, including computer science, statistics, and physics. In computer science, combinatorics is used to solve problems related to counting the number of possible outcomes of a given problem. For example, if you are given a set of 10 objects, how many different ways can you arrange them? Or, if you are given a set of 10 objects, how many different ways can you choose 3 objects from that set? These are examples of combinatorial problems.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=8RRo6Ti9d0U", "Math Skills: How to find Factorial, Permutation and Combination" %}
- {% Blog "https://www.youtube.com/watch?v=sZkAAk9Wwa4", "Make School: Probability" %}
- {% Blog "https://www.youtube.com/watch?v=dNaJg-mLobQ", "Make School: More Probability and Markov Chains" %}
- {% Blog "https://www.khanacademy.org/math/probability/probability-and-combinatorics-topic", "Probability and Combinatorics Topic" %}
-{% endresources %}
+Free Content
+Math Skills: How to find Factorial, Permutation and Combination
+Make School: Probability
+Make School: More Probability and Markov Chains
+Probability and Combinatorics Topic
diff --git a/src/roadmaps/computer-science/content/112-basic-math-skills/index.md b/src/roadmaps/computer-science/content/112-basic-math-skills/index.md
deleted file mode 100644
index 214aafb4d..000000000
--- a/src/roadmaps/computer-science/content/112-basic-math-skills/index.md
+++ /dev/null
@@ -1,20 +0,0 @@
-# Basic Math Skills
-
-Math is a fundamental skill for computer science.
-
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=L3LMbpZIKhQ&list=PLB7540DEDD482705B", "Lec 1 | MIT 6.042J Mathematics for Computer Science, Fall 2010" %}
- {% Blog "https://www.youtube.com/watch?v=eCaXlAaN2uE&index=11&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb", "Integer Arithmetic, Karatsuba Multiplication" %}
- {% Blog "https://www.youtube.com/watch?v=ru7mWZJlRQg", "The Chinese Remainder Theorem (used in cryptography)" %}
- {% Blog "http://www.infocobuild.com/education/audio-video-courses/computer-science/cs70-spring2015-berkeley.html", "Computer Science 70, 001 - Spring 2015 - Discrete Mathematics and Probability Theory" %}
- {% Blog "https://www.youtube.com/playlist?list=PLWX710qNZo_sNlSWRMVIh6kfTjolNaZ8t", "Discrete Mathematics by Shai Simonson (19 videos)" %}
- {% Blog "https://nptel.ac.in/courses/106/106/106106183/", "Discrete Mathematics By IIT Ropar NPTEL" %}
- {% Blog "https://www.youtube.com/watch?v=SmFwFdESMHI&index=18&list=PLB7540DEDD482705B", "MIT 6.042J - Probability Introduction" %}
- {% Blog "https://www.youtube.com/watch?v=E6FbvM-FGZ8&index=19&list=PLB7540DEDD482705B", "MIT 6.042J - Conditional Probability" %}
- {% Blog "https://www.youtube.com/watch?v=l1BCv3qqW4A&index=20&list=PLB7540DEDD482705B", "MIT 6.042J - Independence" %}
- {% Blog "https://www.youtube.com/watch?v=MOfhhFaQdjw&list=PLB7540DEDD482705B&index=21", "MIT 6.042J - Random Variables" %}
- {% Blog "https://www.youtube.com/watch?v=gGlMSe7uEkA&index=22&list=PLB7540DEDD482705B", "MIT 6.042J - Expectation I" %}
- {% Blog "https://www.youtube.com/watch?v=oI9fMUqgfxY&index=23&list=PLB7540DEDD482705B", "MIT 6.042J - Expectation II" %}
- {% Blog "https://www.youtube.com/watch?v=q4mwO2qS2z4&index=24&list=PLB7540DEDD482705B", "MIT 6.042J - Large Deviations" %}
- {% Blog "https://www.youtube.com/watch?v=56iFMY8QW2k&list=PLB7540DEDD482705B&index=25", "MIT 6.042J - Random Walks" %}
-{% endresources %}
diff --git a/src/roadmaps/computer-science/content/112-basic-math-skills/readme.md b/src/roadmaps/computer-science/content/112-basic-math-skills/readme.md
new file mode 100644
index 000000000..d4adf7aaf
--- /dev/null
+++ b/src/roadmaps/computer-science/content/112-basic-math-skills/readme.md
@@ -0,0 +1,27 @@
+# Basic Math Skills
+
+Math is a fundamental skill for computer science.
+
+Lec 1 | MIT 6.042J Mathematics for Computer Science, Fall 2010
+
+##### Math for Fast Processing
+
+Integer Arithmetic, Karatsuba Multiplication
+The Chinese Remainder Theorem (used in cryptography)
+
+##### Discrete Math
+
+Computer Science 70, 001 - Spring 2015 - Discrete Mathematics and Probability Theory
+Discrete Mathematics by Shai Simonson (19 videos)
+Discrete Mathematics By IIT Ropar NPTEL
+
+##### Probability
+
+MIT 6.042J - Probability Introduction
+MIT 6.042J - Conditional Probability
+MIT 6.042J - Independence
+MIT 6.042J - Random Variables
+MIT 6.042J - Expectation I
+MIT 6.042J - Expectation II
+MIT 6.042J - Large Deviations
+MIT 6.042J - Random Walks
diff --git a/src/roadmaps/computer-science/content/113-complexity-classes/100-p.md b/src/roadmaps/computer-science/content/113-complexity-classes/100-p.md
index e6964f3ba..d50543e3c 100644
--- a/src/roadmaps/computer-science/content/113-complexity-classes/100-p.md
+++ b/src/roadmaps/computer-science/content/113-complexity-classes/100-p.md
@@ -2,19 +2,27 @@
The P in the P class stands for Polynomial Time. It is the collection of decision problems(problems with a “yes” or “no” answer) that can be solved by a deterministic machine in polynomial time.
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/types-of-complexity-classes-p-np-conp-np-hard-and-np-complete/", "Types of Complexity Classes | P, NP, CoNP, NP hard and NP complete" %}
- {% Blog "https://softwareengineering.stackexchange.com/questions/308178/trying-to-understand-p-vs-np-vs-np-complete-vs-np-hard", "Trying to understand P vs NP vs NP Complete vs NP Hard" %}
- {% Blog "https://www.youtube.com/watch?v=eHZifpgyH_4&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=22", "Complexity: P, NP, NP-completeness, Reductions" %}
- {% Blog "https://www.youtube.com/watch?v=MEz1J9wY2iM&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=24", "Complexity: Approximation Algorithms" %}
- {% Blog "https://www.youtube.com/watch?v=4q-jmGrmxKs&index=25&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp", "Complexity: Fixed-Parameter Algorithms" %}
- {% Blog "https://www.youtube.com/watch?v=moPtwq_cVH8&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=24", "Lecture 23: Computational Complexity" %}
- {% Blog "https://youtu.be/qcGnJ47Smlo?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=2939", "Greedy Algs. II & Intro to NP Completeness" %}
- {% Blog "https://www.youtube.com/watch?v=e0tGC6ZQdQE&index=16&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm", "NP Completeness II & Reductions" %}
- {% Blog "https://www.youtube.com/watch?v=fCX1BGT3wjE&index=17&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm", "NP Completeness III" %}
- {% Blog "https://www.youtube.com/watch?v=NKLDp3Rch3M&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=18", "NP Completeness IV" %}
- {% Blog "https://www.youtube.com/watch?v=ItHp5laE1VE&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=23", "CSE373 2020 - Lecture 23 - NP-Completeness" %}
- {% Blog "https://www.youtube.com/watch?v=inaFJeCzGxU&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=24", "CSE373 2020 - Lecture 24 - Satisfiability" %}
- {% Blog "https://www.youtube.com/watch?v=B-bhKxjZLlc&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=25", "CSE373 2020 - Lecture 25 - More NP-Completeness" %}
- {% Blog "https://www.youtube.com/watch?v=_EzetTkG_Cc&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=26", "CSE373 2020 - Lecture 26 - NP-Completeness Challenge" %}
-{% endresources %}
+Free Content
+
+Types of Complexity Classes | P, NP, CoNP, NP hard and NP complete
+Trying to understand P vs NP vs NP Complete vs NP Hard
+Complexity: P, NP, NP-completeness, Reductions
+Complexity: Approximation Algorithms
+Complexity: Fixed-Parameter Algorithms
+
+
+Lecture 23: Computational Complexity
+
+----
+
+Greedy Algs. II & Intro to NP Completeness
+NP Completeness II & Reductions
+NP Completeness III
+NP Completeness IV
+
+----
+
+CSE373 2020 - Lecture 23 - NP-Completeness
+CSE373 2020 - Lecture 24 - Satisfiability
+CSE373 2020 - Lecture 25 - More NP-Completeness
+CSE373 2020 - Lecture 26 - NP-Completeness Challenge
diff --git a/src/roadmaps/computer-science/content/113-complexity-classes/101-np.md b/src/roadmaps/computer-science/content/113-complexity-classes/101-np.md
index b77f90194..e6731d71d 100644
--- a/src/roadmaps/computer-science/content/113-complexity-classes/101-np.md
+++ b/src/roadmaps/computer-science/content/113-complexity-classes/101-np.md
@@ -2,19 +2,27 @@
The NP in NP class stands for Non-deterministic Polynomial Time. It is the collection of decision problems that can be solved by a non-deterministic machine in polynomial time.
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/types-of-complexity-classes-p-np-conp-np-hard-and-np-complete/", "Types of Complexity Classes | P, NP, CoNP, NP hard and NP complete" %}
- {% Blog "https://softwareengineering.stackexchange.com/questions/308178/trying-to-understand-p-vs-np-vs-np-complete-vs-np-hard", "Trying to understand P vs NP vs NP Complete vs NP Hard" %}
- {% Blog "https://www.youtube.com/watch?v=eHZifpgyH_4&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=22", "Complexity: P, NP, NP-completeness, Reductions" %}
- {% Blog "https://www.youtube.com/watch?v=MEz1J9wY2iM&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=24", "Complexity: Approximation Algorithms" %}
- {% Blog "https://www.youtube.com/watch?v=4q-jmGrmxKs&index=25&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp", "Complexity: Fixed-Parameter Algorithms" %}
- {% Blog "https://www.youtube.com/watch?v=moPtwq_cVH8&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=24", "Lecture 23: Computational Complexity" %}
- {% Blog "https://youtu.be/qcGnJ47Smlo?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=2939", "Greedy Algs. II & Intro to NP Completeness" %}
- {% Blog "https://www.youtube.com/watch?v=e0tGC6ZQdQE&index=16&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm", "NP Completeness II & Reductions" %}
- {% Blog "https://www.youtube.com/watch?v=fCX1BGT3wjE&index=17&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm", "NP Completeness III" %}
- {% Blog "https://www.youtube.com/watch?v=NKLDp3Rch3M&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=18", "NP Completeness IV" %}
- {% Blog "https://www.youtube.com/watch?v=ItHp5laE1VE&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=23", "CSE373 2020 - Lecture 23 - NP-Completeness" %}
- {% Blog "https://www.youtube.com/watch?v=inaFJeCzGxU&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=24", "CSE373 2020 - Lecture 24 - Satisfiability" %}
- {% Blog "https://www.youtube.com/watch?v=B-bhKxjZLlc&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=25", "CSE373 2020 - Lecture 25 - More NP-Completeness" %}
- {% Blog "https://www.youtube.com/watch?v=_EzetTkG_Cc&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=26", "CSE373 2020 - Lecture 26 - NP-Completeness Challenge" %}
-{% endresources %}
+Free Content
+
+Types of Complexity Classes | P, NP, CoNP, NP hard and NP complete
+Trying to understand P vs NP vs NP Complete vs NP Hard
+Complexity: P, NP, NP-completeness, Reductions
+Complexity: Approximation Algorithms
+Complexity: Fixed-Parameter Algorithms
+
+
+Lecture 23: Computational Complexity
+
+----
+
+Greedy Algs. II & Intro to NP Completeness
+NP Completeness II & Reductions
+NP Completeness III
+NP Completeness IV
+
+----
+
+CSE373 2020 - Lecture 23 - NP-Completeness
+CSE373 2020 - Lecture 24 - Satisfiability
+CSE373 2020 - Lecture 25 - More NP-Completeness
+CSE373 2020 - Lecture 26 - NP-Completeness Challenge
diff --git a/src/roadmaps/computer-science/content/113-complexity-classes/102-co-np.md b/src/roadmaps/computer-science/content/113-complexity-classes/102-co-np.md
index 3d664f69d..cd537c5ed 100644
--- a/src/roadmaps/computer-science/content/113-complexity-classes/102-co-np.md
+++ b/src/roadmaps/computer-science/content/113-complexity-classes/102-co-np.md
@@ -2,19 +2,27 @@
Co-NP stands for the complement of NP Class. It means if the answer to a problem in Co-NP is No, then there is proof that can be checked in polynomial time.
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/types-of-complexity-classes-p-np-conp-np-hard-and-np-complete/", "Types of Complexity Classes | P, NP, CoNP, NP hard and NP complete" %}
- {% Blog "https://softwareengineering.stackexchange.com/questions/308178/trying-to-understand-p-vs-np-vs-np-complete-vs-np-hard", "Trying to understand P vs NP vs NP Complete vs NP Hard" %}
- {% Blog "https://www.youtube.com/watch?v=eHZifpgyH_4&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=22", "Complexity: P, NP, NP-completeness, Reductions" %}
- {% Blog "https://www.youtube.com/watch?v=MEz1J9wY2iM&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=24", "Complexity: Approximation Algorithms" %}
- {% Blog "https://www.youtube.com/watch?v=4q-jmGrmxKs&index=25&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp", "Complexity: Fixed-Parameter Algorithms" %}
- {% Blog "https://www.youtube.com/watch?v=moPtwq_cVH8&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=24", "Lecture 23: Computational Complexity" %}
- {% Blog "https://youtu.be/qcGnJ47Smlo?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=2939", "Greedy Algs. II & Intro to NP Completeness" %}
- {% Blog "https://www.youtube.com/watch?v=e0tGC6ZQdQE&index=16&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm", "NP Completeness II & Reductions" %}
- {% Blog "https://www.youtube.com/watch?v=fCX1BGT3wjE&index=17&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm", "NP Completeness III" %}
- {% Blog "https://www.youtube.com/watch?v=NKLDp3Rch3M&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=18", "NP Completeness IV" %}
- {% Blog "https://www.youtube.com/watch?v=ItHp5laE1VE&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=23", "CSE373 2020 - Lecture 23 - NP-Completeness" %}
- {% Blog "https://www.youtube.com/watch?v=inaFJeCzGxU&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=24", "CSE373 2020 - Lecture 24 - Satisfiability" %}
- {% Blog "https://www.youtube.com/watch?v=B-bhKxjZLlc&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=25", "CSE373 2020 - Lecture 25 - More NP-Completeness" %}
- {% Blog "https://www.youtube.com/watch?v=_EzetTkG_Cc&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=26", "CSE373 2020 - Lecture 26 - NP-Completeness Challenge" %}
-{% endresources %}
+Free Content
+
+Types of Complexity Classes | P, NP, CoNP, NP hard and NP complete
+Trying to understand P vs NP vs NP Complete vs NP Hard
+Complexity: P, NP, NP-completeness, Reductions
+Complexity: Approximation Algorithms
+Complexity: Fixed-Parameter Algorithms
+
+
+Lecture 23: Computational Complexity
+
+----
+
+Greedy Algs. II & Intro to NP Completeness
+NP Completeness II & Reductions
+NP Completeness III
+NP Completeness IV
+
+----
+
+CSE373 2020 - Lecture 23 - NP-Completeness
+CSE373 2020 - Lecture 24 - Satisfiability
+CSE373 2020 - Lecture 25 - More NP-Completeness
+CSE373 2020 - Lecture 26 - NP-Completeness Challenge
diff --git a/src/roadmaps/computer-science/content/113-complexity-classes/103-np-hard.md b/src/roadmaps/computer-science/content/113-complexity-classes/103-np-hard.md
index 0bfa12010..5fe78ab08 100644
--- a/src/roadmaps/computer-science/content/113-complexity-classes/103-np-hard.md
+++ b/src/roadmaps/computer-science/content/113-complexity-classes/103-np-hard.md
@@ -2,19 +2,27 @@
An NP-hard problem is at least as hard as the hardest problem in NP and it is the class of the problems such that every problem in NP reduces to NP-hard.
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/types-of-complexity-classes-p-np-conp-np-hard-and-np-complete/", "Types of Complexity Classes | P, NP, CoNP, NP hard and NP complete" %}
- {% Blog "https://softwareengineering.stackexchange.com/questions/308178/trying-to-understand-p-vs-np-vs-np-complete-vs-np-hard", "Trying to understand P vs NP vs NP Complete vs NP Hard" %}
- {% Blog "https://www.youtube.com/watch?v=eHZifpgyH_4&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=22", "Complexity: P, NP, NP-completeness, Reductions" %}
- {% Blog "https://www.youtube.com/watch?v=MEz1J9wY2iM&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=24", "Complexity: Approximation Algorithms" %}
- {% Blog "https://www.youtube.com/watch?v=4q-jmGrmxKs&index=25&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp", "Complexity: Fixed-Parameter Algorithms" %}
- {% Blog "https://www.youtube.com/watch?v=moPtwq_cVH8&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=24", "Lecture 23: Computational Complexity" %}
- {% Blog "https://youtu.be/qcGnJ47Smlo?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=2939", "Greedy Algs. II & Intro to NP Completeness" %}
- {% Blog "https://www.youtube.com/watch?v=e0tGC6ZQdQE&index=16&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm", "NP Completeness II & Reductions" %}
- {% Blog "https://www.youtube.com/watch?v=fCX1BGT3wjE&index=17&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm", "NP Completeness III" %}
- {% Blog "https://www.youtube.com/watch?v=NKLDp3Rch3M&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=18", "NP Completeness IV" %}
- {% Blog "https://www.youtube.com/watch?v=ItHp5laE1VE&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=23", "CSE373 2020 - Lecture 23 - NP-Completeness" %}
- {% Blog "https://www.youtube.com/watch?v=inaFJeCzGxU&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=24", "CSE373 2020 - Lecture 24 - Satisfiability" %}
- {% Blog "https://www.youtube.com/watch?v=B-bhKxjZLlc&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=25", "CSE373 2020 - Lecture 25 - More NP-Completeness" %}
- {% Blog "https://www.youtube.com/watch?v=_EzetTkG_Cc&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=26", "CSE373 2020 - Lecture 26 - NP-Completeness Challenge" %}
-{% endresources %}
+Free Content
+
+Types of Complexity Classes | P, NP, CoNP, NP hard and NP complete
+Trying to understand P vs NP vs NP Complete vs NP Hard
+Complexity: P, NP, NP-completeness, Reductions
+Complexity: Approximation Algorithms
+Complexity: Fixed-Parameter Algorithms
+
+
+Lecture 23: Computational Complexity
+
+----
+
+Greedy Algs. II & Intro to NP Completeness
+NP Completeness II & Reductions
+NP Completeness III
+NP Completeness IV
+
+----
+
+CSE373 2020 - Lecture 23 - NP-Completeness
+CSE373 2020 - Lecture 24 - Satisfiability
+CSE373 2020 - Lecture 25 - More NP-Completeness
+CSE373 2020 - Lecture 26 - NP-Completeness Challenge
diff --git a/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/100-travelling-salesman-problem.md b/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/100-travelling-salesman-problem.md
index 89d7d327b..0e4249c12 100644
--- a/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/100-travelling-salesman-problem.md
+++ b/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/100-travelling-salesman-problem.md
@@ -2,9 +2,8 @@
The Travelling Salesman Problem (TSP) is a classic problem in computer science. It is a problem that is NP-complete, which means that it is a problem that is hard to solve. It is also a problem that is used to test the efficiency of algorithms.
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/travelling-salesman-problem-set-1/", "Travelling Salesman Problem | Set 1 (Naive and Dynamic Programming)" %}
- {% Blog "https://www.youtube.com/watch?v=1pmBjIZ20pE", "What is the Traveling Salesman Problem?" %}
- {% Blog "https://www.youtube.com/watch?v=XaXsJJh-Q5Y", "4.7 Traveling Salesperson Problem - Dynamic Programming" %}
- {% Blog "https://www.youtube.com/watch?v=cY4HiiFHO1o", "Traveling Salesman Problem | Dynamic Programming | Graph Theory" %}
-{% endresources %}
+Free Content
+Travelling Salesman Problem | Set 1 (Naive and Dynamic Programming)
+What is the Traveling Salesman Problem?
+4.7 Traveling Salesperson Problem - Dynamic Programming
+Traveling Salesman Problem | Dynamic Programming | Graph Theory
diff --git a/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/101-knapsack-problem.md b/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/101-knapsack-problem.md
index 270a8cfa1..0dabfd74d 100644
--- a/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/101-knapsack-problem.md
+++ b/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/101-knapsack-problem.md
@@ -2,8 +2,7 @@
KnapSack Problem is a classic problem in computer science. It is a problem in which we are given a set of items, each with a weight and a value, and we need to determine which items to include in a collection so that the total weight is less than or equal to a given limit and the total value is as large as possible.
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/0-1-knapsack-problem-dp-10/", "0-1 Knapsack Problem | DP-10" %}
- {% Blog "https://medium.com/@fabianterh/how-to-solve-the-knapsack-problem-with-dynamic-programming-eb88c706d3cf", "How to solve the Knapsack Problem with dynamic programming" %}
- {% Blog "https://www.youtube.com/watch?v=oTTzNMHM05I", "3.1 Knapsack Problem - Greedy Method" %}
-{% endresources %}
+Free Content
+0-1 Knapsack Problem | DP-10
+How to solve the Knapsack Problem with dynamic programming
+3.1 Knapsack Problem - Greedy Method
diff --git a/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/102-longest-path-problem.md b/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/102-longest-path-problem.md
index 9ebb9ffe9..eb9ca1bf1 100644
--- a/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/102-longest-path-problem.md
+++ b/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/102-longest-path-problem.md
@@ -2,8 +2,7 @@
Longest path problem is a problem that asks us to find the longest path in a graph.
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/find-longest-path-directed-acyclic-graph/", "Longest Path in a Directed Acyclic Graph" %}
- {% Blog "https://www.youtube.com/watch?v=TXkDpqjDMHA", "Shortest/Longest path on a Directed Acyclic Graph (DAG) | Graph Theory" %}
- {% Blog "https://www.youtube.com/watch?v=lRH0tax5dFA", "Longest Simple Path - Intro to Algorithms" %}
-{% endresources %}
+Free Content
+Longest Path in a Directed Acyclic Graph
+Shortest/Longest path on a Directed Acyclic Graph (DAG) | Graph Theory
+Longest Simple Path - Intro to Algorithms
diff --git a/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/index.md b/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/index.md
deleted file mode 100644
index 28651952d..000000000
--- a/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/index.md
+++ /dev/null
@@ -1,20 +0,0 @@
-# NP Complete
-
-A problem is NP-complete if it is both NP and NP-hard. NP-complete problems are the hard problems in NP.
-
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/types-of-complexity-classes-p-np-conp-np-hard-and-np-complete/", "Types of Complexity Classes | P, NP, CoNP, NP hard and NP complete" %}
- {% Blog "https://softwareengineering.stackexchange.com/questions/308178/trying-to-understand-p-vs-np-vs-np-complete-vs-np-hard", "Trying to understand P vs NP vs NP Complete vs NP Hard" %}
- {% Blog "https://www.youtube.com/watch?v=eHZifpgyH_4&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=22", "Complexity: P, NP, NP-completeness, Reductions" %}
- {% Blog "https://www.youtube.com/watch?v=MEz1J9wY2iM&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=24", "Complexity: Approximation Algorithms" %}
- {% Blog "https://www.youtube.com/watch?v=4q-jmGrmxKs&index=25&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp", "Complexity: Fixed-Parameter Algorithms" %}
- {% Blog "https://www.youtube.com/watch?v=moPtwq_cVH8&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=24", "Lecture 23: Computational Complexity" %}
- {% Blog "https://youtu.be/qcGnJ47Smlo?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=2939", "Greedy Algs. II & Intro to NP Completeness" %}
- {% Blog "https://www.youtube.com/watch?v=e0tGC6ZQdQE&index=16&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm", "NP Completeness II & Reductions" %}
- {% Blog "https://www.youtube.com/watch?v=fCX1BGT3wjE&index=17&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm", "NP Completeness III" %}
- {% Blog "https://www.youtube.com/watch?v=NKLDp3Rch3M&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=18", "NP Completeness IV" %}
- {% Blog "https://www.youtube.com/watch?v=ItHp5laE1VE&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=23", "CSE373 2020 - Lecture 23 - NP-Completeness" %}
- {% Blog "https://www.youtube.com/watch?v=inaFJeCzGxU&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=24", "CSE373 2020 - Lecture 24 - Satisfiability" %}
- {% Blog "https://www.youtube.com/watch?v=B-bhKxjZLlc&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=25", "CSE373 2020 - Lecture 25 - More NP-Completeness" %}
- {% Blog "https://www.youtube.com/watch?v=_EzetTkG_Cc&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=26", "CSE373 2020 - Lecture 26 - NP-Completeness Challenge" %}
-{% endresources %}
diff --git a/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/readme.md b/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/readme.md
new file mode 100644
index 000000000..d6dfab5e4
--- /dev/null
+++ b/src/roadmaps/computer-science/content/113-complexity-classes/104-np-complete/readme.md
@@ -0,0 +1,28 @@
+# NP Complete
+
+A problem is NP-complete if it is both NP and NP-hard. NP-complete problems are the hard problems in NP.
+
+Free Content
+
+Types of Complexity Classes | P, NP, CoNP, NP hard and NP complete
+Trying to understand P vs NP vs NP Complete vs NP Hard
+Complexity: P, NP, NP-completeness, Reductions
+Complexity: Approximation Algorithms
+Complexity: Fixed-Parameter Algorithms
+
+
+Lecture 23: Computational Complexity
+
+----
+
+Greedy Algs. II & Intro to NP Completeness
+NP Completeness II & Reductions
+NP Completeness III
+NP Completeness IV
+
+----
+
+CSE373 2020 - Lecture 23 - NP-Completeness
+CSE373 2020 - Lecture 24 - Satisfiability
+CSE373 2020 - Lecture 25 - More NP-Completeness
+CSE373 2020 - Lecture 26 - NP-Completeness Challenge
diff --git a/src/roadmaps/computer-science/content/113-complexity-classes/105-p-equals-np.md b/src/roadmaps/computer-science/content/113-complexity-classes/105-p-equals-np.md
index f383ff607..e9bdc7466 100644
--- a/src/roadmaps/computer-science/content/113-complexity-classes/105-p-equals-np.md
+++ b/src/roadmaps/computer-science/content/113-complexity-classes/105-p-equals-np.md
@@ -2,6 +2,5 @@
The P = NP problem is one of the most famous problems in computer science. It asks if the problem of determining if a given input belongs to a certain class of problems is as hard as the problem of solving the given input. In other words, it asks if the problem of determining if a given input belongs to a certain class of problems is as hard as the problem of determining if a given input belongs to a certain class of problems. This problem is also known as the Halting Problem.
-{% resources %}
- {% Blog "https://stackoverflow.com/questions/111307/whats-p-np-and-why-is-it-such-a-famous-question", "Whats P=NP?, and why is it such a famous question?" %}
-{% endresources %}
+Free Content
+What's "P=NP?", and why is it such a famous question?
diff --git a/src/roadmaps/computer-science/content/113-complexity-classes/index.md b/src/roadmaps/computer-science/content/113-complexity-classes/index.md
deleted file mode 100644
index c4282f463..000000000
--- a/src/roadmaps/computer-science/content/113-complexity-classes/index.md
+++ /dev/null
@@ -1,27 +0,0 @@
-# Complexity Classes
-
-In computer science, there exist some problems whose solutions are not yet found, the problems are divided into classes known as Complexity Classes. In complexity theory, a Complexity Class is a set of problems with related complexity. These classes help scientists to groups problems based on how much time and space they require to solve problems and verify the solutions. It is the branch of the theory of computation that deals with the resources required to solve a problem.
-
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/types-of-complexity-classes-p-np-conp-np-hard-and-np-complete/", "Types of Complexity Classes | P, NP, CoNP, NP hard and NP complete" %}
- {% Blog "https://softwareengineering.stackexchange.com/questions/308178/trying-to-understand-p-vs-np-vs-np-complete-vs-np-hard", "Trying to understand P vs NP vs NP Complete vs NP Hard" %}
- {% Blog "https://www.youtube.com/watch?v=eHZifpgyH_4&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=22", "Complexity: P, NP, NP-completeness, Reductions" %}
- {% Blog "https://www.youtube.com/watch?v=MEz1J9wY2iM&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=24", "Complexity: Approximation Algorithms" %}
- {% Blog "https://www.youtube.com/watch?v=4q-jmGrmxKs&index=25&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp", "Complexity: Fixed-Parameter Algorithms" %}
- {% Blog "https://www.youtube.com/watch?v=moPtwq_cVH8&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=24", "Lecture 23: Computational Complexity" %}
- {% Blog "https://youtu.be/qcGnJ47Smlo?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=2939", "Greedy Algs. II & Intro to NP Completeness" %}
- {% Blog "https://www.youtube.com/watch?v=e0tGC6ZQdQE&index=16&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm", "NP Completeness II & Reductions" %}
- {% Blog "https://www.youtube.com/watch?v=fCX1BGT3wjE&index=17&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm", "NP Completeness III" %}
- {% Blog "https://www.youtube.com/watch?v=NKLDp3Rch3M&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=18", "NP Completeness IV" %}
- {% Blog "https://www.youtube.com/watch?v=ItHp5laE1VE&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=23", "CSE373 2020 - Lecture 23 - NP-Completeness" %}
- {% Blog "https://www.youtube.com/watch?v=inaFJeCzGxU&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=24", "CSE373 2020 - Lecture 24 - Satisfiability" %}
- {% Blog "https://www.youtube.com/watch?v=B-bhKxjZLlc&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=25", "CSE373 2020 - Lecture 25 - More NP-Completeness" %}
- {% Blog "https://www.youtube.com/watch?v=_EzetTkG_Cc&list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx&index=26", "CSE373 2020 - Lecture 26 - NP-Completeness Challenge" %}
-{% endresources %}
-
-
-
-
-
-
-
diff --git a/src/roadmaps/computer-science/content/113-complexity-classes/readme.md b/src/roadmaps/computer-science/content/113-complexity-classes/readme.md
new file mode 100644
index 000000000..b411cc51d
--- /dev/null
+++ b/src/roadmaps/computer-science/content/113-complexity-classes/readme.md
@@ -0,0 +1,34 @@
+# Complexity Classes
+
+In computer science, there exist some problems whose solutions are not yet found, the problems are divided into classes known as Complexity Classes. In complexity theory, a Complexity Class is a set of problems with related complexity. These classes help scientists to groups problems based on how much time and space they require to solve problems and verify the solutions. It is the branch of the theory of computation that deals with the resources required to solve a problem.
+
+Free Content
+Types of Complexity Classes | P, NP, CoNP, NP hard and NP complete
+Trying to understand P vs NP vs NP Complete vs NP Hard
+Complexity: P, NP, NP-completeness, Reductions
+Complexity: Approximation Algorithms
+Complexity: Fixed-Parameter Algorithms
+
+
+Lecture 23: Computational Complexity
+
+----
+
+Greedy Algs. II & Intro to NP Completeness
+NP Completeness II & Reductions
+NP Completeness III
+NP Completeness IV
+
+----
+
+CSE373 2020 - Lecture 23 - NP-Completeness
+CSE373 2020 - Lecture 24 - Satisfiability
+CSE373 2020 - Lecture 25 - More NP-Completeness
+CSE373 2020 - Lecture 26 - NP-Completeness Challenge
+
+
+
+
+
+
+
diff --git a/src/roadmaps/computer-science/content/114-tries.md b/src/roadmaps/computer-science/content/114-tries.md
index 1f2db607c..e7c74de9f 100644
--- a/src/roadmaps/computer-science/content/114-tries.md
+++ b/src/roadmaps/computer-science/content/114-tries.md
@@ -2,14 +2,13 @@
Tries are a data structure that can be used to store strings. The idea is to store the characters of the string in a tree-like structure, where each node of the tree represents a single character. We can use this structure to store strings in a way that allows us to quickly search for strings with a common prefix.
-{% resources %}
- {% Blog "http://www.cs.yale.edu/homes/aspnes/classes/223/notes.html#Tries", "Tries - DataStructure Notes" %}
- {% Blog "https://www.toptal.com/java/the-trie-a-neglected-data-structure", "The Trie: A Neglected Data Structure" %}
- {% Blog "https://www.topcoder.com/thrive/articles/Using%20Tries", "TopCoder - Using Tries" %}
- {% Blog "https://www.youtube.com/watch?v=TJ8SkcUSdbU", "Stanford Lecture (real world use case)" %}
- {% Blog "https://www.youtube.com/watch?v=NinWEPPrkDQ&index=16&list=PLUl4u3cNGP61hsJNdULdudlRL493b-XZf", "MIT, Advanced Data Structures, Strings (can get pretty obscure about halfway through)" %}
- {% Blog "https://www.coursera.org/learn/algorithms-part2/home/week/4", "0. Tries - Coursera" %}
- {% Blog "https://www.coursera.org/learn/algorithms-part2/lecture/CPVdr/r-way-tries", "1. R Way Tries" %}
- {% Blog "https://www.coursera.org/learn/algorithms-part2/lecture/yQM8K/ternary-search-tries", "2. Ternary Search Tries" %}
- {% Blog "https://www.coursera.org/learn/algorithms-part2/lecture/jwNmV/character-based-operations", "3. Character Based Operations" %}
-{% endresources %}
+Free Content
+Tries - DataStructure Notes
+The Trie: A Neglected Data Structure
+TopCoder - Using Tries
+Stanford Lecture (real world use case)
+MIT, Advanced Data Structures, Strings (can get pretty obscure about halfway through)
+0. Tries - Coursera
+1. R Way Tries
+2. Ternary Search Tries
+3. Character Based Operations
diff --git a/src/roadmaps/computer-science/content/115-balanced-search-trees/100-avl-trees.md b/src/roadmaps/computer-science/content/115-balanced-search-trees/100-avl-trees.md
index 90ae30fb3..7872a48d9 100644
--- a/src/roadmaps/computer-science/content/115-balanced-search-trees/100-avl-trees.md
+++ b/src/roadmaps/computer-science/content/115-balanced-search-trees/100-avl-trees.md
@@ -4,9 +4,8 @@ AVL trees are a type of self-balancing binary search tree. They are named after
In practice: From what I can tell, these aren't used much in practice, but I could see where they would be: The AVL tree is another structure supporting O(log n) search, insertion, and removal. It is more rigidly balanced than red–black trees, leading to slower insertion and removal but faster retrieval. This makes it attractive for data structures that may be built once and loaded without reconstruction, such as language dictionaries (or program dictionaries, such as the opcodes of an assembler or interpreter)
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=FNeL18KsWPc&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=6", "MIT AVL Trees / AVL Sort" %}
- {% Blog "https://www.coursera.org/learn/data-structures/lecture/Qq5E0/avl-trees", "AVL Trees" %}
- {% Blog "https://www.coursera.org/learn/data-structures/lecture/PKEBC/avl-tree-implementation", "AVL Tree Implementation" %}
- {% Blog "https://www.coursera.org/learn/data-structures/lecture/22BgE/split-and-merge", "Split And Merge" %}
-{% endresources %}
+Free Content
+MIT AVL Trees / AVL Sort
+AVL Trees
+AVL Tree Implementation
+Split And Merge
diff --git a/src/roadmaps/computer-science/content/115-balanced-search-trees/101-red-black-trees.md b/src/roadmaps/computer-science/content/115-balanced-search-trees/101-red-black-trees.md
index 1d0695e7c..78f4aaadb 100644
--- a/src/roadmaps/computer-science/content/115-balanced-search-trees/101-red-black-trees.md
+++ b/src/roadmaps/computer-science/content/115-balanced-search-trees/101-red-black-trees.md
@@ -6,10 +6,9 @@ These are a translation of a 2-3 tree (see below).
In practice: Red–black trees offer worst-case guarantees for insertion time, deletion time, and search time. Not only does this make them valuable in time-sensitive applications such as real-time applications, but it makes them valuable building blocks in other data structures which provide worst-case guarantees; for example, many data structures used in computational geometry can be based on red–black trees, and the Completely Fair Scheduler used in current Linux kernels uses red–black trees. In the version 8 of Java, the Collection HashMap has been modified such that instead of using a LinkedList to store identical elements with poor hashcodes, a Red-Black tree is used.
-{% resources %}
- {% Blog "https://en.wikipedia.org/wiki/Red%E2%80%93black_tree", "Red-Black Tree - Wikipedia" %}
- {% Blog "https://www.topcoder.com/thrive/articles/An%20Introduction%20to%20Binary%20Search%20and%20Red-Black%20Trees", "An Introduction To Binary Search And Red Black Tree" %}
- {% Blog "https://www.youtube.com/playlist?list=PL9xmBV_5YoZNqDI8qfOZgzbqahCUmUEin", "Red-Black Trees (playlist) in 30 minutes" %}
- {% Blog "https://youtu.be/1W3x0f_RmUo?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=3871", "Aduni - Algorithms - Lecture 4 (link jumps to starting point)" %}
- {% Blog "https://www.youtube.com/watch?v=hm2GHwyKF1o&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=5", "Aduni - Algorithms - Lecture 5" %}
-{% endresources %}
+Free Content
+Red-Black Tree - Wikipedia
+An Introduction To Binary Search And Red Black Tree
+Red-Black Trees (playlist) in 30 minutes
+Aduni - Algorithms - Lecture 4 (link jumps to starting point)
+Aduni - Algorithms - Lecture 5
diff --git a/src/roadmaps/computer-science/content/115-balanced-search-trees/102-the-2-3-search-trees.md b/src/roadmaps/computer-science/content/115-balanced-search-trees/102-the-2-3-search-trees.md
index ef66112d6..0b785445f 100644
--- a/src/roadmaps/computer-science/content/115-balanced-search-trees/102-the-2-3-search-trees.md
+++ b/src/roadmaps/computer-science/content/115-balanced-search-trees/102-the-2-3-search-trees.md
@@ -4,8 +4,7 @@ In practice: 2-3 trees have faster inserts at the expense of slower searches (si
You would use 2-3 tree very rarely because its implementation involves different types of nodes. Instead, people use Red Black trees.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=C3SsdUqasD4&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6&index=2", "23-Tree Intuition and Definition" %}
- {% Blog "https://www.youtube.com/watch?v=iYvBtGKsqSg&index=3&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6", "Binary View of 23-Tree" %}
- {% Blog "https://www.youtube.com/watch?v=TOb1tuEZ2X4&index=5&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp", "2-3 Trees (student recitation)" %}
-{% endresources %}
+Free Content
+23-Tree Intuition and Definition
+Binary View of 23-Tree
+2-3 Trees (student recitation)
diff --git a/src/roadmaps/computer-science/content/115-balanced-search-trees/103-the-2-3-4-trees.md b/src/roadmaps/computer-science/content/115-balanced-search-trees/103-the-2-3-4-trees.md
index 5c74a5799..d8f8fe5cb 100644
--- a/src/roadmaps/computer-science/content/115-balanced-search-trees/103-the-2-3-4-trees.md
+++ b/src/roadmaps/computer-science/content/115-balanced-search-trees/103-the-2-3-4-trees.md
@@ -2,8 +2,6 @@
In practice: For every 2-4 tree, there are corresponding red–black trees with data elements in the same order. The insertion and deletion operations on 2-4 trees are also equivalent to color-flipping and rotations in red–black trees. This makes 2-4 trees an important tool for understanding the logic behind red–black trees, and this is why many introductory algorithm texts introduce 2-4 trees just before red–black trees, even though 2-4 trees are not often used in practice.
-{% resources %}
- {% Blog "https://archive.org/details/ucberkeley_webcast_zqrqYXkth6Q", "CS 61B Lecture 26: Balanced Search Trees" %}
- {% Blog "https://www.youtube.com/watch?v=DQdMYevEyE4&index=4&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6", "Bottom Up 234-Trees" %}
- {% Blog "https://www.youtube.com/watch?v=2679VQ26Fp4&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6&index=5", "Top Down 234-Trees" %}
-{% endresources %}
+CS 61B Lecture 26: Balanced Search Trees
+Bottom Up 234-Trees
+Top Down 234-Trees
diff --git a/src/roadmaps/computer-science/content/115-balanced-search-trees/104-n-ary-trees.md b/src/roadmaps/computer-science/content/115-balanced-search-trees/104-n-ary-trees.md
index e4f029d54..92bb8a7c9 100644
--- a/src/roadmaps/computer-science/content/115-balanced-search-trees/104-n-ary-trees.md
+++ b/src/roadmaps/computer-science/content/115-balanced-search-trees/104-n-ary-trees.md
@@ -6,6 +6,5 @@ Binary trees are a 2-ary tree, with branching factor = 2
2-3 trees are 3-ary
-{% resources %}
- {% Blog "https://en.wikipedia.org/wiki/K-ary_tree", "K-Ary Tree" %}
-{% endresources %}
+Free Content
+K-Ary Tree
diff --git a/src/roadmaps/computer-science/content/115-balanced-search-trees/105-b-tree.md b/src/roadmaps/computer-science/content/115-balanced-search-trees/105-b-tree.md
index d7506265d..6f7254a57 100644
--- a/src/roadmaps/computer-science/content/115-balanced-search-trees/105-b-tree.md
+++ b/src/roadmaps/computer-science/content/115-balanced-search-trees/105-b-tree.md
@@ -4,12 +4,11 @@ Fun fact: it's a mystery, but the B could stand for Boeing, Balanced, or Bayer (
In Practice: B-Trees are widely used in databases. Most modern filesystems use B-trees (or Variants). In addition to its use in databases, the B-tree is also used in filesystems to allow quick random access to an arbitrary block in a particular file. The basic problem is turning the file block i address into a disk block (or perhaps to a cylinder-head-sector) address
-{% resources %}
- {% Blog "https://en.wikipedia.org/wiki/B-tree", "B-Tree - Wikipedia" %}
- {% Blog "http://btechsmartclass.com/data_structures/b-trees.html", "B-Tree Datastructure" %}
- {% Blog "https://www.youtube.com/watch?v=I22wEC1tTGo&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6&index=6", "Introduction to B-Trees" %}
- {% Blog "https://www.youtube.com/watch?v=s3bCdZGrgpA&index=7&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6", "B-Tree Definition and Insertion" %}
- {% Blog "https://www.youtube.com/watch?v=svfnVhJOfMc&index=8&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6", "B-Tree Deletion" %}
- {% Blog "https://www.youtube.com/watch?v=V3omVLzI0WE&index=7&list=PLUl4u3cNGP61hsJNdULdudlRL493b-XZf", "MIT 6.851 - Memory Hierarchy Models" %}
- {% Blog "https://www.youtube.com/playlist?list=PL9xmBV_5YoZNFPPv98DjTdD9X6UI9KMHz", "B-Trees (playlist) in 26 minutes" %}
-{% endresources %}
+Free Content
+B-Tree - Wikipedia
+B-Tree Datastructure
+Introduction to B-Trees
+B-Tree Definition and Insertion
+B-Tree Deletion
+MIT 6.851 - Memory Hierarchy Models
+B-Trees (playlist) in 26 minutes
diff --git a/src/roadmaps/computer-science/content/115-balanced-search-trees/index.md b/src/roadmaps/computer-science/content/115-balanced-search-trees/index.md
deleted file mode 100644
index 3fef14a36..000000000
--- a/src/roadmaps/computer-science/content/115-balanced-search-trees/index.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# Balanced Search Trees
-
-Balanced search trees are a type of data structure that allow for fast insertion, deletion, and lookup of data. They are a type of self-balancing binary search tree, which means that they are a binary tree that maintains the binary search tree property while also keeping the tree balanced. This means that the tree is always approximately balanced, which allows for fast insertion, deletion, and lookup of data.
-
-{% resources %}
- {% Blog "https://en.wikipedia.org/wiki/Self-balancing_binary_search_tree", "Self-balancing binary search tree - Wikipedia" %}
- {% Blog "https://www.youtube.com/watch?v=IbNZ-x1I2IM", "Balanced Search Trees Operations and Applications 11 min" %}
- {% Blog "https://www.youtube.com/watch?v=q4fnJZr8ztY", "Balanced binary search tree rotations" %}
-{% endresources %}
-
diff --git a/src/roadmaps/computer-science/content/115-balanced-search-trees/readme.md b/src/roadmaps/computer-science/content/115-balanced-search-trees/readme.md
new file mode 100644
index 000000000..c97826c9b
--- /dev/null
+++ b/src/roadmaps/computer-science/content/115-balanced-search-trees/readme.md
@@ -0,0 +1,9 @@
+# Balanced Search Trees
+
+Balanced search trees are a type of data structure that allow for fast insertion, deletion, and lookup of data. They are a type of self-balancing binary search tree, which means that they are a binary tree that maintains the binary search tree property while also keeping the tree balanced. This means that the tree is always approximately balanced, which allows for fast insertion, deletion, and lookup of data.
+
+Free Content
+Self-balancing binary search tree - Wikipedia
+Balanced Search Trees Operations and Applications 11 min
+Balanced binary search tree rotations
+
diff --git a/src/roadmaps/computer-science/content/116-system-design/100-horizontal-vs-vertical-scaling.md b/src/roadmaps/computer-science/content/116-system-design/100-horizontal-vs-vertical-scaling.md
index 62dc0b029..9e79f4bda 100644
--- a/src/roadmaps/computer-science/content/116-system-design/100-horizontal-vs-vertical-scaling.md
+++ b/src/roadmaps/computer-science/content/116-system-design/100-horizontal-vs-vertical-scaling.md
@@ -2,8 +2,7 @@
Horizontal scaling is the process of adding more machines to your system. This is also known as scaling out. Vertical scaling is the process of adding more power to a single machine. This is also known as scaling up.
-{% resources %}
- {% Blog "https://www.section.io/blog/scaling-horizontally-vs-vertically/", "Scaling Horizontally vs. Scaling Vertically" %}
- {% Blog "https://www.youtube.com/watch?v=xpDnVSmNFX0", "System Design Basics: Horizontal vs. Vertical Scaling" %}
- {% Blog "https://www.youtube.com/watch?v=R99R-SNbo9g", "Vertical vs. Horizontal Scaling for Database Servers" %}
-{% endresources %}
+Free Content
+Scaling Horizontally vs. Scaling Vertically
+System Design Basics: Horizontal vs. Vertical Scaling
+Vertical vs. Horizontal Scaling for Database Servers
diff --git a/src/roadmaps/computer-science/content/116-system-design/101-clustering.md b/src/roadmaps/computer-science/content/116-system-design/101-clustering.md
index 4c2b3f75f..1336376d4 100644
--- a/src/roadmaps/computer-science/content/116-system-design/101-clustering.md
+++ b/src/roadmaps/computer-science/content/116-system-design/101-clustering.md
@@ -2,6 +2,5 @@
At a high level, a computer cluster is a group of two or more computers, or nodes, that run in parallel to achieve a common goal. This allows workloads consisting of a high number of individual, parallelizable tasks to be distributed among the nodes in the cluster. As a result, these tasks can leverage the combined memory and processing power of each computer to increase overall performance.
-{% resources %}
- {% Blog "https://dev.to/karanpratapsingh/system-design-clustering-3726", "System Design: Clustering" %}
-{% endresources %}
+Free Content
+System Design: Clustering
diff --git a/src/roadmaps/computer-science/content/116-system-design/101-load-balancing.md b/src/roadmaps/computer-science/content/116-system-design/101-load-balancing.md
index c7f424fa3..47b66f156 100644
--- a/src/roadmaps/computer-science/content/116-system-design/101-load-balancing.md
+++ b/src/roadmaps/computer-science/content/116-system-design/101-load-balancing.md
@@ -2,7 +2,6 @@
Load balancing is the process of distributing network or application traffic across a cluster of servers. Load balancing is used to improve responsiveness and reliability of applications, maximize throughput, minimize response time, and avoid overload of any single server.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=galcDRNd5Ow", "Load Balancers 101" %}
- {% Blog "https://www.youtube.com/watch?v=gGLophKzJs8", "What is Load Balancing?" %}
-{% endresources %}
+Free Content
+Load Balancers 101
+What is Load Balancing?
diff --git a/src/roadmaps/computer-science/content/116-system-design/102-caching.md b/src/roadmaps/computer-science/content/116-system-design/102-caching.md
index 056956a1b..02523e907 100644
--- a/src/roadmaps/computer-science/content/116-system-design/102-caching.md
+++ b/src/roadmaps/computer-science/content/116-system-design/102-caching.md
@@ -2,8 +2,7 @@
Caching is a way of storing data in a temporary storage to make future requests faster. It is one of the most important tools in the computer science toolbox.
-{% resources %}
- {% Blog "https://dev.to/karanpratapsingh/system-design-the-complete-course-10fo#caching", "System Design - Caching" %}
- {% Blog "https://www.youtube.com/watch?v=joifNgoXXFk", "What is Caching | System Design Basics" %}
-{% endresources %}
+Free Content
+System Design - Caching
+What is Caching | System Design Basics
diff --git a/src/roadmaps/computer-science/content/116-system-design/103-cdn.md b/src/roadmaps/computer-science/content/116-system-design/103-cdn.md
index 6bd2e8ff5..dd70aec6c 100644
--- a/src/roadmaps/computer-science/content/116-system-design/103-cdn.md
+++ b/src/roadmaps/computer-science/content/116-system-design/103-cdn.md
@@ -2,7 +2,6 @@
A CDN is a network of servers that are distributed geographically. The servers are connected to each other and to the internet. The servers are used to deliver content to users. The content is delivered to the user from the server that is closest to the user. This is done to reduce latency and improve the performance of the content delivery.
-{% resources %}
- {% Blog "https://dev.to/karanpratapsingh/system-design-the-complete-course-10fo#content-delivery-network-cdn", "Content Delivery Network (CDN) - System Design" %}
- {% Blog "https://www.youtube.com/watch?v=6DXEPcXKQNY", "Content Delivery Networks" %}
-{% endresources %}
+Free Content
+Content Delivery Network (CDN) - System Design
+Content Delivery Networks
diff --git a/src/roadmaps/computer-science/content/116-system-design/104-proxy.md b/src/roadmaps/computer-science/content/116-system-design/104-proxy.md
index 03c11e32a..65d76cd52 100644
--- a/src/roadmaps/computer-science/content/116-system-design/104-proxy.md
+++ b/src/roadmaps/computer-science/content/116-system-design/104-proxy.md
@@ -2,7 +2,6 @@
A proxy server is an intermediary piece of hardware/software sitting between the client and the backend server. It receives requests from clients and relays them to the origin servers. Typically, proxies are used to filter requests, log requests, or sometimes transform requests (by adding/removing headers, encrypting/decrypting, or compression).
-{% resources %}
- {% Blog "https://dev.to/karanpratapsingh/system-design-the-complete-course-10fo#proxy", "Proxy - System Design" %}
- {% Blog "https://roadmap.sh/guides/proxy-servers", "Proxy Servers" %}
-{% endresources %}
+Free Content
+Proxy - System Design
+Proxy Servers
diff --git a/src/roadmaps/computer-science/content/116-system-design/105-cap-theorem.md b/src/roadmaps/computer-science/content/116-system-design/105-cap-theorem.md
index ce60cd376..82309de64 100644
--- a/src/roadmaps/computer-science/content/116-system-design/105-cap-theorem.md
+++ b/src/roadmaps/computer-science/content/116-system-design/105-cap-theorem.md
@@ -2,7 +2,6 @@
The CAP theorem states that it is impossible for a distributed data store to simultaneously provide more than two out of Consistency, Availability and Partition Tolerance.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=_RbsFXWRZ10", "What is CAP Theorem?" %}
- {% Blog "https://en.wikipedia.org/wiki/CAP_theorem", "CAP Theorem - Wikipedia" %}
-{% endresources %}
+Free Content
+What is CAP Theorem?
+CAP Theorem - Wikipedia
diff --git a/src/roadmaps/computer-science/content/116-system-design/106-queues.md b/src/roadmaps/computer-science/content/116-system-design/106-queues.md
index bcf4b1dfb..9e46fd6ae 100644
--- a/src/roadmaps/computer-science/content/116-system-design/106-queues.md
+++ b/src/roadmaps/computer-science/content/116-system-design/106-queues.md
@@ -2,8 +2,7 @@
Messaging queues are a common way to decouple systems. They are used to decouple the producer of a message from the consumer of a message. This allows the producer to send a message and not have to wait for the consumer to process it. It also allows the consumer to process the message at their own pace.
-{% resources %}
- {% Blog "https://dev.to/karanpratapsingh/system-design-the-complete-course-10fo#message-queues", "Message Queues - System Design" %}
- {% Blog "https://www.youtube.com/watch?v=xErwDaOc-Gs", "What is a Message Queue?" %}
- {% Blog "https://www.youtube.com/watch?v=oUJbuFMyBDk", "What is a Message Queue and Where is it used?" %}
-{% endresources %}
+Free Content
+Message Queues - System Design
+What is a Message Queue?
+What is a Message Queue and Where is it used?
diff --git a/src/roadmaps/computer-science/content/116-system-design/107-architectural-styles.md b/src/roadmaps/computer-science/content/116-system-design/107-architectural-styles.md
index cb6f0f6e9..9a9b636ec 100644
--- a/src/roadmaps/computer-science/content/116-system-design/107-architectural-styles.md
+++ b/src/roadmaps/computer-science/content/116-system-design/107-architectural-styles.md
@@ -2,6 +2,5 @@
Architectural patterns are the fundamental organization of a system, defining how the system is composed and how its components interact. Architectural patterns are identified by their name, like client-server, peer-to-peer, and layered.
-{% resources %}
- {% Blog "https://en.wikipedia.org/wiki/List_of_software_architecture_styles_and_patterns", "List of software architecture styles and patterns" %}
-{% endresources %}
+Free Content
+List of software architecture styles and patterns
diff --git a/src/roadmaps/computer-science/content/116-system-design/108-rest.md b/src/roadmaps/computer-science/content/116-system-design/108-rest.md
index 3d1aa94c8..89298f1e9 100644
--- a/src/roadmaps/computer-science/content/116-system-design/108-rest.md
+++ b/src/roadmaps/computer-science/content/116-system-design/108-rest.md
@@ -2,9 +2,9 @@
REST, or REpresentational State Transfer, is an architectural style for providing standards between computer systems on the web, making it easier for systems to communicate with each other.
-{% resources %}
- {% Blog "https://www.codecademy.com/article/what-is-rest", "What is REST?" %}
- {% Blog "https://www.redhat.com/en/topics/api/what-is-a-rest-api", "What is a REST API?" %}
- {% Blog "https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm", "Roy Fieldings dissertation chapter, Representational State Transfer (REST)" %}
- {% Course "https://restapitutorial.com/", "Learn REST: A RESTful Tutorial" %}
-{% endresources %}
+Free Content
+
+What is REST?
+What is a REST API?
+Roy Fielding's dissertation chapter, "Representational State Transfer (REST)"
+Learn REST: A RESTful Tutorial
diff --git a/src/roadmaps/computer-science/content/116-system-design/109-graphql.md b/src/roadmaps/computer-science/content/116-system-design/109-graphql.md
index c7c7a4e1f..e2db673a1 100644
--- a/src/roadmaps/computer-science/content/116-system-design/109-graphql.md
+++ b/src/roadmaps/computer-science/content/116-system-design/109-graphql.md
@@ -2,6 +2,5 @@
GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools.
-{% resources %}
- {% Blog "https://www.apollographql.com/tutorials/", "Apollo GraphQL Tutorials" %}
-{% endresources %}
+Free Content
+Apollo GraphQL Tutorials
diff --git a/src/roadmaps/computer-science/content/116-system-design/110-grpc.md b/src/roadmaps/computer-science/content/116-system-design/110-grpc.md
index 3947fc510..c0c63e749 100644
--- a/src/roadmaps/computer-science/content/116-system-design/110-grpc.md
+++ b/src/roadmaps/computer-science/content/116-system-design/110-grpc.md
@@ -6,9 +6,8 @@ It's main use case is for communication between two different languages within t
gRPC uses the protocol buffer language to define the structure of the data that is
-{% resources %}
- {% Official "https://grpc.io/", "gRPC Website" %}
- {% Official "https://grpc.io/docs/what-is-grpc/introduction/", "gRPC Introduction" %}
- {% Official "https://grpc.io/docs/what-is-grpc/core-concepts/", "gRPC Core Concepts" %}
- {% Blog "https://youtu.be/XRXTsQwyZSU", "Stephane Maarek - gRPC Introduction" %}
-{% endresources %}
+Free Content
+gRPC Website
+gRPC Introduction
+gRPC Core Concepts
+Stephane Maarek - gRPC Introduction
diff --git a/src/roadmaps/computer-science/content/116-system-design/111-cloud-design-patterns.md b/src/roadmaps/computer-science/content/116-system-design/111-cloud-design-patterns.md
index 718e7f8ce..d363c714d 100644
--- a/src/roadmaps/computer-science/content/116-system-design/111-cloud-design-patterns.md
+++ b/src/roadmaps/computer-science/content/116-system-design/111-cloud-design-patterns.md
@@ -4,6 +4,5 @@ These design patterns are useful for building reliable, scalable, secure applica
The link below has cloud design patterns where each pattern describes the problem that the pattern addresses, considerations for applying the pattern, and an example based on Microsoft Azure. Most patterns include code samples or snippets that show how to implement the pattern on Azure. However, most patterns are relevant to any distributed system, whether hosted on Azure or other cloud platforms.
-{% resources %}
- {% Blog "https://learn.microsoft.com/en-us/azure/architecture/patterns/", "Cloud Design Patterns" %}
-{% endresources %}
+Free Content
+Cloud Design Patterns
diff --git a/src/roadmaps/computer-science/content/116-system-design/112-long-polling.md b/src/roadmaps/computer-science/content/116-system-design/112-long-polling.md
index 4def10088..5f266ae5b 100644
--- a/src/roadmaps/computer-science/content/116-system-design/112-long-polling.md
+++ b/src/roadmaps/computer-science/content/116-system-design/112-long-polling.md
@@ -2,7 +2,6 @@
Long polling is a technique used to implement server push functionality over HTTP. It is a method of opening a request on the server and keeping it open until an event occurs, at which point the server responds. This is in contrast to a regular HTTP request, where the server responds immediately with whatever data is available at the time.
-{% resources %}
- {% Blog "https://javascript.info/long-polling", "Long polling" %}
- {% Blog "https://stackoverflow.com/questions/11077857/what-are-long-polling-websockets-server-sent-events-sse-and-comet", "What are Long-Polling, Websockets, Server-Sent Events (SSE) and Comet?" %}
-{% endresources %}
+Free Content
+Long polling
+What are Long-Polling, Websockets, Server-Sent Events (SSE) and Comet?
diff --git a/src/roadmaps/computer-science/content/116-system-design/113-short-polling.md b/src/roadmaps/computer-science/content/116-system-design/113-short-polling.md
index ce8388f41..90af71b63 100644
--- a/src/roadmaps/computer-science/content/116-system-design/113-short-polling.md
+++ b/src/roadmaps/computer-science/content/116-system-design/113-short-polling.md
@@ -2,6 +2,5 @@
In short polling, the client requests information from the server. The server processes the request. If data is available for the request, server responds to the request with the required information. However, if the server has no data available for the client, server returns an empty response. In both the situation, the connection will be closed after returning the response. Clients keep issuing new requests even after server sends the empty responses. This mechanism increases the network cost on the server.
-{% resources %}
- {% Blog "https://stackoverflow.com/questions/11077857/what-are-long-polling-websockets-server-sent-events-sse-and-comet", "What are Long-Polling, Websockets, Server-Sent Events (SSE) and Comet?" %}
-{% endresources %}
+Free Content
+What are Long-Polling, Websockets, Server-Sent Events (SSE) and Comet?
diff --git a/src/roadmaps/computer-science/content/116-system-design/114-web-sockets.md b/src/roadmaps/computer-science/content/116-system-design/114-web-sockets.md
index 3680a03f5..27ca6075e 100644
--- a/src/roadmaps/computer-science/content/116-system-design/114-web-sockets.md
+++ b/src/roadmaps/computer-science/content/116-system-design/114-web-sockets.md
@@ -2,6 +2,5 @@
Web sockets are a bidirectional communication protocol between a client and a server. They are used for real-time applications like chat, multiplayer games, and live data updates. Web sockets are also used to establish a connection between a server and a client. This connection is then used to send data in both directions.
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/what-is-web-socket-and-how-it-is-different-from-the-http/", "What is web socket and how it is different from the HTTP?" %}
-{% endresources %}
+Free Content
+What is web socket and how it is different from the HTTP?
diff --git a/src/roadmaps/computer-science/content/116-system-design/115-sse.md b/src/roadmaps/computer-science/content/116-system-design/115-sse.md
index 77a15db66..3910be158 100644
--- a/src/roadmaps/computer-science/content/116-system-design/115-sse.md
+++ b/src/roadmaps/computer-science/content/116-system-design/115-sse.md
@@ -2,7 +2,6 @@
Server-Sent Events is a server push technology enabling a client to receive automatic updates from a server via an HTTP connection, and describes how servers can initiate data transmission towards clients once an initial client connection has been established.
-{% resources %}
- {% Blog "https://medium.com/yemeksepeti-teknoloji/what-is-server-sent-events-sse-and-how-to-implement-it-904938bffd73", "What is Server-Sent Events (SSE) and how to implement it?" %}
- {% Blog "https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events", "Using server-sent events" %}
-{% endresources %}
+Free Content
+What is Server-Sent Events (SSE) and how to implement it?
+Using server-sent events
diff --git a/src/roadmaps/computer-science/content/116-system-design/index.md b/src/roadmaps/computer-science/content/116-system-design/index.md
deleted file mode 100644
index fb71f291f..000000000
--- a/src/roadmaps/computer-science/content/116-system-design/index.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# System Design
-
-System design is the process of defining the architecture, modules, interfaces, and data for a system to satisfy specified requirements. It is a very broad topic, and there are many ways to approach it.
-
-{% resources %}
- {% Blog "https://github.com/donnemartin/system-design-primer", "System Design Primer" %}
- {% Blog "https://dev.to/karanpratapsingh/system-design-the-complete-course-10fo", "System Design: The complete course" %}
- {% Blog "https://www.youtube.com/watch?v=Y-Gl4HEyeUQ", "System Design 101" %}
- {% Blog "https://www.youtube.com/watch?v=a2rcgzludDU", "Scaling the Unscalable" %}
- {% Blog "https://www.youtube.com/watch?v=YkGHxOg9d3M", "System design interview: Scale to 1 million users" %}
-{% endresources %}
diff --git a/src/roadmaps/computer-science/content/116-system-design/readme.md b/src/roadmaps/computer-science/content/116-system-design/readme.md
new file mode 100644
index 000000000..0f0594fb1
--- /dev/null
+++ b/src/roadmaps/computer-science/content/116-system-design/readme.md
@@ -0,0 +1,10 @@
+# System Design
+
+System design is the process of defining the architecture, modules, interfaces, and data for a system to satisfy specified requirements. It is a very broad topic, and there are many ways to approach it.
+
+Free Content
+System Design Primer
+System Design: The complete course
+System Design 101
+Scaling the Unscalable
+System design interview: Scale to 1 million users
diff --git a/src/roadmaps/computer-science/content/117-databases/100-sql-vs-nosql-databases.md b/src/roadmaps/computer-science/content/117-databases/100-sql-vs-nosql-databases.md
index 0b8405c06..f4f22401c 100644
--- a/src/roadmaps/computer-science/content/117-databases/100-sql-vs-nosql-databases.md
+++ b/src/roadmaps/computer-science/content/117-databases/100-sql-vs-nosql-databases.md
@@ -4,8 +4,7 @@ SQL stands for Structured Query Language. It's used for relational databases. A
NoSQL stands for Not Only SQL. It's used for non-relational databases. A NoSQL database is a collection of collections that stores a specific set of unstructured data. Some examples are MongoDB, CouchDB, Redis etc.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=Q5aTUc7c4jg", "SQL vs. NoSQL: Whats the difference?" %}
- {% Blog "https://www.youtube.com/watch?v=cODCpXtPHbQ&t=22s", "Database Design Tips | Choosing the Best Database in a System Design Interview" %}
- {% Blog "https://www.youtube.com/watch?v=FzlpwoeSrE0", "NoSQL vs SQL – Which Type of Database Should You Use?" %}
-{% endresources %}
+Free Content
+SQL vs. NoSQL: What's the difference?
+Database Design Tips | Choosing the Best Database in a System Design Interview
+NoSQL vs SQL – Which Type of Database Should You Use?
diff --git a/src/roadmaps/computer-science/content/117-databases/101-normalization-denormalization.md b/src/roadmaps/computer-science/content/117-databases/101-normalization-denormalization.md
index 899cb16fd..0ab34610e 100644
--- a/src/roadmaps/computer-science/content/117-databases/101-normalization-denormalization.md
+++ b/src/roadmaps/computer-science/content/117-databases/101-normalization-denormalization.md
@@ -4,7 +4,6 @@ Database normalization is a process used to organize a database into tables and
Denormalization is the opposite of normalization. It is the process of adding redundant data to a database to improve read performance. This is done by adding duplicate data into multiple tables to avoid expensive joins. This is done at the expense of increased storage and decreased write performance.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=sDU94hraq8g", "Normalization vs. Denormalization | Events and Event Streaming" %}
- {% Blog "https://www.youtube.com/watch?v=UrYLYV7WSHM", "Normalization - 1NF, 2NF, 3NF and 4NF" %}
-{% endresources %}
+Free Content
+Normalization vs. Denormalization | Events and Event Streaming
+Normalization - 1NF, 2NF, 3NF and 4NF
diff --git a/src/roadmaps/computer-science/content/117-databases/102-entity-relationship-model.md b/src/roadmaps/computer-science/content/117-databases/102-entity-relationship-model.md
index 72da814eb..67f0922dc 100644
--- a/src/roadmaps/computer-science/content/117-databases/102-entity-relationship-model.md
+++ b/src/roadmaps/computer-science/content/117-databases/102-entity-relationship-model.md
@@ -2,7 +2,6 @@
Entity relationship model is a high-level data model that describes the logical structure of a database. It is a graphical representation of entities and their relationships to each other, typically used in modeling the organization of data within databases or information systems.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=QpdhBUYk7Kk", "Entity Relationship Diagram (ERD) Tutorial - Part 1" %}
- {% Blog "https://www.youtube.com/watch?v=-CuY5ADwn24", "Entity Relationship Diagram (ERD) Tutorial - Part 2" %}
-{% endresources %}
+Free Content
+Entity Relationship Diagram (ERD) Tutorial - Part 1
+Entity Relationship Diagram (ERD) Tutorial - Part 2
diff --git a/src/roadmaps/computer-science/content/117-databases/103-ddl.md b/src/roadmaps/computer-science/content/117-databases/103-ddl.md
index 31a1647f6..cc3eab36a 100644
--- a/src/roadmaps/computer-science/content/117-databases/103-ddl.md
+++ b/src/roadmaps/computer-science/content/117-databases/103-ddl.md
@@ -2,6 +2,5 @@
DDL or Data Definition Language actually consists of the SQL commands that can be used to define the database schema. It simply deals with descriptions of the database schema and is used to create and modify the structure of database objects in the database. DDL is a set of SQL commands used to create, modify, and delete database structures but not data. These commands are normally not used by a general user, who should be accessing the database via an application.
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/sql-ddl-dql-dml-dcl-tcl-commands/", "SQL | DDL, DQL, DML, DCL and TCL Commands" %}
-{% endresources %}
+Free Content
+SQL | DDL, DQL, DML, DCL and TCL Commands
diff --git a/src/roadmaps/computer-science/content/117-databases/104-dml.md b/src/roadmaps/computer-science/content/117-databases/104-dml.md
index c0084dba0..562133ead 100644
--- a/src/roadmaps/computer-science/content/117-databases/104-dml.md
+++ b/src/roadmaps/computer-science/content/117-databases/104-dml.md
@@ -2,6 +2,5 @@
The SQL commands that deals with the manipulation of data present in the database belong to DML or Data Manipulation Language and this includes most of the SQL statements. It is the component of the SQL statement that controls access to data and to the database. Basically, DCL statements are grouped with DML statements.
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/sql-ddl-dql-dml-dcl-tcl-commands/", "SQL | DDL, DQL, DML, DCL and TCL Commands" %}
-{% endresources %}
+Free Content
+SQL | DDL, DQL, DML, DCL and TCL Commands
diff --git a/src/roadmaps/computer-science/content/117-databases/105-dql.md b/src/roadmaps/computer-science/content/117-databases/105-dql.md
index 6276f289c..def704e43 100644
--- a/src/roadmaps/computer-science/content/117-databases/105-dql.md
+++ b/src/roadmaps/computer-science/content/117-databases/105-dql.md
@@ -2,6 +2,5 @@
DQL statements are used for performing queries on the data within schema objects. The purpose of the DQL Command is to get some schema relation based on the query passed to it. We can define DQL as follows it is a component of SQL statement that allows getting data from the database and imposing order upon it. It includes the SELECT statement. This command allows getting the data out of the database to perform operations with it. When a SELECT is fired against a table or tables the result is compiled into a further temporary table, which is displayed or perhaps received by the program i.e. a front-end.
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/sql-ddl-dql-dml-dcl-tcl-commands/", "SQL | DDL, DQL, DML, DCL and TCL Commands" %}
-{% endresources %}
+Free Content
+SQL | DDL, DQL, DML, DCL and TCL Commands
diff --git a/src/roadmaps/computer-science/content/117-databases/106-dcl.md b/src/roadmaps/computer-science/content/117-databases/106-dcl.md
index 7b5712392..f3d0c2de6 100644
--- a/src/roadmaps/computer-science/content/117-databases/106-dcl.md
+++ b/src/roadmaps/computer-science/content/117-databases/106-dcl.md
@@ -2,6 +2,5 @@ DCL (Data Control Language):
DCL includes commands such as GRANT and REVOKE which mainly deal with the rights, permissions, and other controls of the database system.
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/sql-ddl-dql-dml-dcl-tcl-commands/", "SQL | DDL, DQL, DML, DCL and TCL Commands" %}
-{% endresources %}
+Free Content
+SQL | DDL, DQL, DML, DCL and TCL Commands
diff --git a/src/roadmaps/computer-science/content/117-databases/107-locking.md b/src/roadmaps/computer-science/content/117-databases/107-locking.md
index 04616d7a2..81d3f2574 100644
--- a/src/roadmaps/computer-science/content/117-databases/107-locking.md
+++ b/src/roadmaps/computer-science/content/117-databases/107-locking.md
@@ -2,8 +2,7 @@
Locks are used to prevent data from being modified by multiple processes at the same time. This is important because if two processes are modifying the same data at the same time, the data can become corrupted. Locks are used to prevent this from happening.
-{% resources %}
- {% Blog "https://medium.com/inspiredbrilliance/what-are-database-locks-1aff9117c290", "Locking in Databases and Isolation Mechanisms" %}
- {% Blog "https://www.dbta.com/Columns/DBA-Corner/Understanding-Database-Lock-Timeouts-and-Deadlocks-148659.aspx", "Understanding Database Lock Timeouts and Deadlocks" %}
- {% Blog "https://www.youtube.com/watch?v=nuBi2XbHH18", "Row-Level Database Locks Explained - (Read vs Exclusive)" %}
-{% endresources %}
+Free Content
+Locking in Databases and Isolation Mechanisms
+Understanding Database Lock Timeouts and Deadlocks
+Row-Level Database Locks Explained - (Read vs Exclusive)
diff --git a/src/roadmaps/computer-science/content/117-databases/109-acid-model.md b/src/roadmaps/computer-science/content/117-databases/109-acid-model.md
index d2cfcb4a5..ed532d401 100644
--- a/src/roadmaps/computer-science/content/117-databases/109-acid-model.md
+++ b/src/roadmaps/computer-science/content/117-databases/109-acid-model.md
@@ -2,8 +2,7 @@
ACID are the four properties of any database system that help in making sure that we are able to perform the transactions in a reliable manner. It's an acronym which refers to the presence of four properties: atomicity, consistency, isolation and durability
-{% resources %}
- {% Blog "https://retool.com/blog/whats-an-acid-compliant-database/", "What is ACID Compliant Database?" %}
- {% Blog "https://fauna.com/blog/what-is-acid-compliance-atomicity-consistency-isolation", "What is ACID Compliance?: Atomicity, Consistency, Isolation" %}
- {% Blog "https://www.youtube.com/watch?v=yaQ5YMWkxq4", "ACID Explained: Atomic, Consistent, Isolated & Durable" %}
-{% endresources %}
+Free Content
+What is ACID Compliant Database?
+What is ACID Compliance?: Atomicity, Consistency, Isolation
+ACID Explained: Atomic, Consistent, Isolated & Durable
diff --git a/src/roadmaps/computer-science/content/117-databases/110-base-model.md b/src/roadmaps/computer-science/content/117-databases/110-base-model.md
index 5b1dc80ea..fe847c927 100644
--- a/src/roadmaps/computer-science/content/117-databases/110-base-model.md
+++ b/src/roadmaps/computer-science/content/117-databases/110-base-model.md
@@ -6,6 +6,5 @@ The rise in popularity of NoSQL databases provided a flexible and fluidity with
- **S**oft state
- **E**ventual consistency
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/acid-model-vs-base-model-for-database/", "ACID Model vs BASE Model For Database" %}
-{% endresources %}
+Free Content
+ACID Model vs BASE Model For Database
diff --git a/src/roadmaps/computer-science/content/117-databases/111-cap-theorem.md b/src/roadmaps/computer-science/content/117-databases/111-cap-theorem.md
index 0043a6dcf..8870a15da 100644
--- a/src/roadmaps/computer-science/content/117-databases/111-cap-theorem.md
+++ b/src/roadmaps/computer-science/content/117-databases/111-cap-theorem.md
@@ -2,10 +2,9 @@
CAP is an acronym for Consistency, Availability, and Partition Tolerance. According to the CAP theorem, any distributed system can only guarantee two of the three properties at any time. You can't guarantee all three properties at once.
-{% resources %}
- {% Blog "https://www.bmc.com/blogs/cap-theorem/", "What is CAP Theorem?" %}
- {% Blog "https://en.wikipedia.org/wiki/CAP_theorem", "CAP Theorem - Wikipedia" %}
- {% Blog "https://mwhittaker.github.io/blog/an_illustrated_proof_of_the_cap_theorem/", "An Illustrated Proof of the CAP Theorem" %}
- {% Blog "https://www.ibm.com/uk-en/cloud/learn/cap-theorem", "CAP Theorem and its applications in NoSQL Databases" %}
- {% Blog "https://www.youtube.com/watch?v=_RbsFXWRZ10", "What is CAP Theorem?" %}
-{% endresources %}
+Free Content
+What is CAP Theorem?
+CAP Theorem - Wikipedia
+An Illustrated Proof of the CAP Theorem
+CAP Theorem and it's applications in NoSQL Databases
+What is CAP Theorem?
diff --git a/src/roadmaps/computer-science/content/117-databases/112-pacelc-theorem.md b/src/roadmaps/computer-science/content/117-databases/112-pacelc-theorem.md
index 4bd525390..e36b5c34a 100644
--- a/src/roadmaps/computer-science/content/117-databases/112-pacelc-theorem.md
+++ b/src/roadmaps/computer-science/content/117-databases/112-pacelc-theorem.md
@@ -2,7 +2,6 @@
The PACELC Theorem is an extension of the CAP Theorem. One of the questions that CAP Theorem wasn’t able to answer was “what happens when there is no Partition, What Logical Combination then a Distributed System have?“. So to answer this, In addition to Consistency, Availability, and Partition Tolerance it also includes Latency as one of the desired properties of a Distributed System. The acronym PACELC stands for Partitioned, Availability, Consistency Else Latency, Consistency.
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/pacelc-theorem/", "PACELC Theorem - Geeks for Geeks" %}
- {% Blog "https://www.scylladb.com/glossary/pacelc-theorem/", "PACELC Theorem" %}
-{% endresources %}
+Free Content
+PACELC Theorem - Geeks for Geeks
+PACELC Theorem
diff --git a/src/roadmaps/computer-science/content/117-databases/113-indexes.md b/src/roadmaps/computer-science/content/117-databases/113-indexes.md
index 2b07898f1..8f4dc6c30 100644
--- a/src/roadmaps/computer-science/content/117-databases/113-indexes.md
+++ b/src/roadmaps/computer-science/content/117-databases/113-indexes.md
@@ -2,7 +2,6 @@
An index is a data structure that you build and assign on top of an existing table that basically looks through your table and tries to analyze and summarize so that it can create shortcuts.
-{% resources %}
- {% Blog "https://www.freecodecamp.org/news/database-indexing-at-a-glance-bb50809d48bd/", "An in-depth look at Database Indexing" %}
- {% Blog "https://www.youtube.com/watch?v=-qNSXK7s7_w", "Database Indexing Explained" %}
-{% endresources %}
+Free Content
+An in-depth look at Database Indexing
+Database Indexing Explained
diff --git a/src/roadmaps/computer-science/content/117-databases/114-views.md b/src/roadmaps/computer-science/content/117-databases/114-views.md
index b9993b6c0..603c7231f 100644
--- a/src/roadmaps/computer-science/content/117-databases/114-views.md
+++ b/src/roadmaps/computer-science/content/117-databases/114-views.md
@@ -2,8 +2,7 @@
Views in SQL are kind of virtual tables. A view also has rows and columns as they are in a real table in the database. We can create a view by selecting fields from one or more tables present in the database. A View can either have all the rows of a table or specific rows based on certain condition.
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/sql-views/", "SQL | Views" %}
- {% Blog "https://www.ibm.com/docs/en/eamfoc/7.6.0?topic=structure-views", "Datbase Views" %}
- {% Blog "https://en.wikipedia.org/wiki/View_(SQL)", "SQL Views - Wikipedia" %}
-{% endresources %}
+Free Content
+SQL | Views
+Datbase Views
+SQL Views - Wikipedia
diff --git a/src/roadmaps/computer-science/content/117-databases/115-transactions.md b/src/roadmaps/computer-science/content/117-databases/115-transactions.md
index 093e68a4e..797c69472 100644
--- a/src/roadmaps/computer-science/content/117-databases/115-transactions.md
+++ b/src/roadmaps/computer-science/content/117-databases/115-transactions.md
@@ -2,6 +2,5 @@
In short, a database transaction is a sequence of multiple operations performed on a database, and all served as a single logical unit of work — taking place wholly or not at all. In other words, there's never a case where only half of the operations are performed and the results saved.
-{% resources %}
- {% Blog "https://fauna.com/blog/database-transaction", "What are Transactions?" %}
-{% endresources %}
+Free Content
+What are Transactions?
diff --git a/src/roadmaps/computer-science/content/117-databases/116-stored-procedures.md b/src/roadmaps/computer-science/content/117-databases/116-stored-procedures.md
index e3b743a22..9e0e29060 100644
--- a/src/roadmaps/computer-science/content/117-databases/116-stored-procedures.md
+++ b/src/roadmaps/computer-science/content/117-databases/116-stored-procedures.md
@@ -2,7 +2,6 @@
Stored Procedures are created to perform one or more DML operations on Database. It is nothing but the group of SQL statements that accepts some input in the form of parameters and performs some task and may or may not returns a value.
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/what-is-stored-procedures-in-sql/", "What is Stored Procedures in SQL ?" %}
- {% Blog "https://www.programiz.com/sql/stored-procedures", "SQL Stored Procedures" %}
-{% endresources %}
+Free Content
+What is Stored Procedures in SQL ?
+SQL Stored Procedures
diff --git a/src/roadmaps/computer-science/content/117-databases/117-database-federation.md b/src/roadmaps/computer-science/content/117-databases/117-database-federation.md
index 1256ec491..d7d76d68d 100644
--- a/src/roadmaps/computer-science/content/117-databases/117-database-federation.md
+++ b/src/roadmaps/computer-science/content/117-databases/117-database-federation.md
@@ -2,6 +2,5 @@
Federation (or functional partitioning) splits up databases by function. The federation architecture makes several distinct physical databases appear as one logical database to end-users.
-{% resources %}
- {% Blog "https://dev.to/karanpratapsingh/system-design-the-complete-course-10fo#database-federation", "Database Federation" %}
-{% endresources %}
+Free Content
+Database Federation
diff --git a/src/roadmaps/computer-science/content/117-databases/118-replication.md b/src/roadmaps/computer-science/content/117-databases/118-replication.md
index 6313ce409..0a990866f 100644
--- a/src/roadmaps/computer-science/content/117-databases/118-replication.md
+++ b/src/roadmaps/computer-science/content/117-databases/118-replication.md
@@ -2,7 +2,6 @@
Replication is a process that involves sharing information to ensure consistency between redundant resources such as multiple databases, to improve reliability, fault-tolerance, or accessibility.
-{% resources %}
- {% Blog "https://dev.to/karanpratapsingh/system-design-the-complete-course-10fo#database-replication", "Database Replication" %}
- {% Blog "https://en.wikipedia.org/wiki/Replication_(computing)", "Replication (computing)" %}
-{% endresources %}
+Free Content
+Database Replication
+Replication (computing)
diff --git a/src/roadmaps/computer-science/content/117-databases/119-sharding.md b/src/roadmaps/computer-science/content/117-databases/119-sharding.md
index c9abab154..9a10a6871 100644
--- a/src/roadmaps/computer-science/content/117-databases/119-sharding.md
+++ b/src/roadmaps/computer-science/content/117-databases/119-sharding.md
@@ -2,9 +2,8 @@
Database sharding is a method of distributing data across multiple machines. It is a horizontal scaling technique, as opposed to vertical scaling, which is scaling by adding more power to a single machine. Sharding is a common way to scale a database.
-{% resources %}
- {% Blog "https://dev.to/karanpratapsingh/system-design-the-complete-course-10fo#sharding", "Sharding" %}
- {% Blog "https://www.youtube.com/watch?v=RynPj8C0BXA", "Sharding & Database Partitioning | System Design Basics" %}
- {% Blog "https://www.youtube.com/watch?v=hdxdhCpgYo8", "Database Sharding - Watch" %}
- {% Blog "https://www.youtube.com/watch?v=kSH4bt8ypOQ", "Database Sharding in 5 minutes" %}
-{% endresources %}
+Free Content
+Sharding
+Sharding & Database Partitioning | System Design Basics
+Database Sharding - Watch
+Database Sharding in 5 minutes
diff --git a/src/roadmaps/computer-science/content/117-databases/index.md b/src/roadmaps/computer-science/content/117-databases/index.md
deleted file mode 100644
index e33d51c2b..000000000
--- a/src/roadmaps/computer-science/content/117-databases/index.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Databases
-
-A database is a collection of useful data of one or more related organizations structured in a way to make data an asset to the organization. A database management system is a software designed to assist in maintaining and extracting large collections of data in a timely fashion.
-
-{% resources %}
- {% Blog "https://www.oracle.com/database/what-is-database/", "Oracle: What is a Database?" %}
- {% Blog "https://www.prisma.io/dataguide/intro/what-are-databases", "Prisma.io: What are Databases?" %}
- {% Blog "https://www.youtube.com/watch?v=D-k-h0GuFmE&list=PL9ysvtVnryGpnIj9rcIqNDxakUn6v72Hm", "DBMS by Stanford" %}
-{% endresources %}
diff --git a/src/roadmaps/computer-science/content/117-databases/readme.md b/src/roadmaps/computer-science/content/117-databases/readme.md
new file mode 100644
index 000000000..716ad16e0
--- /dev/null
+++ b/src/roadmaps/computer-science/content/117-databases/readme.md
@@ -0,0 +1,8 @@
+# Databases
+
+A database is a collection of useful data of one or more related organizations structured in a way to make data an asset to the organization. A database management system is a software designed to assist in maintaining and extracting large collections of data in a timely fashion.
+
+Free Content
+Oracle: What is a Database?
+Prisma.io: What are Databases?
+DBMS by Stanford
diff --git a/src/roadmaps/computer-science/content/118-networking/100-sockets.md b/src/roadmaps/computer-science/content/118-networking/100-sockets.md
index 649121db9..68db3b907 100644
--- a/src/roadmaps/computer-science/content/118-networking/100-sockets.md
+++ b/src/roadmaps/computer-science/content/118-networking/100-sockets.md
@@ -2,7 +2,6 @@
A socket is an interface for network communication. It is a way for two programs to communicate with each other over a network. It is a way for a client to send a request to a server and for the server to send a response back to the client.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=8ARodQ4Wlf4", "A Beginners Guide to WebSockets" %}
- {% Blog "https://www.youtube.com/watch?v=1BfCnjr_Vjg", "WebSockets in 100 Seconds & Beyond with Socket.io" %}
-{% endresources %}
+Free Content
+A Beginner's Guide to WebSockets
+WebSockets in 100 Seconds & Beyond with Socket.io
diff --git a/src/roadmaps/computer-science/content/118-networking/101-tls-https.md b/src/roadmaps/computer-science/content/118-networking/101-tls-https.md
index 49cc7b3df..b894b33ee 100644
--- a/src/roadmaps/computer-science/content/118-networking/101-tls-https.md
+++ b/src/roadmaps/computer-science/content/118-networking/101-tls-https.md
@@ -2,7 +2,6 @@
TLS (Transport Layer Security) is a cryptographic protocol that provides privacy and data integrity between two communicating applications. It is widely used to secure HTTP, although it can be used with any protocol. TLS is often used in combination with HTTPS, which is HTTP over TLS.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=S2iBR2ZlZf0", "SSL and HTTPS" %}
- {% Blog "https://www.youtube.com/watch?v=Rp3iZUvXWlM", "SSL/TLS - Cristina Formaini" %}
-{% endresources %}
+Free Content
+SSL and HTTPS
+SSL/TLS - Cristina Formaini
diff --git a/src/roadmaps/computer-science/content/118-networking/102-http.md b/src/roadmaps/computer-science/content/118-networking/102-http.md
index 84eb5405d..080ed22ca 100644
--- a/src/roadmaps/computer-science/content/118-networking/102-http.md
+++ b/src/roadmaps/computer-science/content/118-networking/102-http.md
@@ -2,11 +2,10 @@
HTTP is the `TCP/IP` based application layer communication protocol which standardizes how the client and server communicate with each other. It defines how the content is requested and transmitted across the internet.
-{% resources %}
- {% Blog "https://www.cloudflare.com/en-gb/learning/ddos/glossary/hypertext-transfer-protocol-http/", "What is HTTP?" %}
- {% Blog "https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview", "An overview of HTTP" %}
- {% Blog "https://kamranahmed.info/blog/2016/08/13/http-in-depth", "Journey to HTTP/2" %}
- {% Blog "https://www.smashingmagazine.com/2021/08/http3-core-concepts-part1/", "HTTP/3 From A To Z: Core Concepts" %}
- {% Blog "https://www.youtube.com/watch?v=a-sBfyiXysI", "HTTP/1 to HTTP/2 to HTTP/3" %}
- {% Blog "https://www.youtube.com/watch?v=iYM2zFP3Zn0", "HTTP Crash Course & Exploration" %}
-{% endresources %}
+Free Content
+What is HTTP?
+An overview of HTTP
+Journey to HTTP/2
+HTTP/3 From A To Z: Core Concepts
+HTTP/1 to HTTP/2 to HTTP/3
+HTTP Crash Course & Exploration
diff --git a/src/roadmaps/computer-science/content/118-networking/103-dns.md b/src/roadmaps/computer-science/content/118-networking/103-dns.md
index 81ecfdf5b..c11c882f7 100644
--- a/src/roadmaps/computer-science/content/118-networking/103-dns.md
+++ b/src/roadmaps/computer-science/content/118-networking/103-dns.md
@@ -2,10 +2,9 @@
The Domain Name System (DNS) is the phonebook of the Internet. Humans access information online through domain names, like nytimes.com or espn.com. Web browsers interact through Internet Protocol (IP) addresses. DNS translates domain names to IP addresses so browsers can load Internet resources.
-{% resources %}
- {% Blog "https://www.cloudflare.com/en-gb/learning/dns/what-is-dns/", "What is DNS?" %}
- {% Blog "https://howdns.works/", "How DNS works (comic)" %}
- {% Blog "https://www.youtube.com/watch?v=Wj0od2ag5sk", "DNS and How does it Work?" %}
- {% Blog "https://www.youtube.com/watch?v=7lxgpKh_fRY", "DNS Records" %}
- {% Blog "https://www.youtube.com/watch?v=zEmUuNFBgN8&list=PLTk5ZYSbd9MhMmOiPhfRJNW7bhxHo4q-K", "Complete DNS mini-series" %}
-{% endresources %}
+Free Content
+What is DNS?
+How DNS works (comic)
+DNS and How does it Work?
+DNS Records
+Complete DNS mini-series
diff --git a/src/roadmaps/computer-science/content/118-networking/104-tcp-ip-model.md b/src/roadmaps/computer-science/content/118-networking/104-tcp-ip-model.md
index 4d117f685..558773ed4 100644
--- a/src/roadmaps/computer-science/content/118-networking/104-tcp-ip-model.md
+++ b/src/roadmaps/computer-science/content/118-networking/104-tcp-ip-model.md
@@ -2,9 +2,8 @@
The OSI and TCP/IP model is used to help the developer to design their system for interoperability. The OSI model has 7 layers while the TCP/IP model has a more summarized form of the OSI model only consisting 4 layers. This is important if you're are trying to design a system to communicate with other systems.
-{% resources %}
- {% Blog "https://www.cloudflare.com/learning/ddos/glossary/open-systems-interconnection-model-osi/", "Cloudflare - What is the OSI model" %}
- {% Blog "https://www.geeksforgeeks.org/layers-of-osi-model/", "Geeksforgeeks - Layers of OSI model" %}
- {% Blog "https://www.geeksforgeeks.org/tcp-ip-model/", "Geeksforgeeks - TCP/IP model" %}
- {% Blog "https://www.youtube.com/watch?v=e5DEVa9eSN0", "TCP/IP and the OSI Model Explained!" %}
-{% endresources %}
+Free Content
+Cloudflare - What is the OSI model
+Geeksforgeeks - Layers of OSI model
+Geeksforgeeks - TCP/IP model
+TCP/IP and the OSI Model Explained!
diff --git a/src/roadmaps/computer-science/content/118-networking/105-osi-model.md b/src/roadmaps/computer-science/content/118-networking/105-osi-model.md
index 4d117f685..558773ed4 100644
--- a/src/roadmaps/computer-science/content/118-networking/105-osi-model.md
+++ b/src/roadmaps/computer-science/content/118-networking/105-osi-model.md
@@ -2,9 +2,8 @@
The OSI and TCP/IP model is used to help the developer to design their system for interoperability. The OSI model has 7 layers while the TCP/IP model has a more summarized form of the OSI model only consisting 4 layers. This is important if you're are trying to design a system to communicate with other systems.
-{% resources %}
- {% Blog "https://www.cloudflare.com/learning/ddos/glossary/open-systems-interconnection-model-osi/", "Cloudflare - What is the OSI model" %}
- {% Blog "https://www.geeksforgeeks.org/layers-of-osi-model/", "Geeksforgeeks - Layers of OSI model" %}
- {% Blog "https://www.geeksforgeeks.org/tcp-ip-model/", "Geeksforgeeks - TCP/IP model" %}
- {% Blog "https://www.youtube.com/watch?v=e5DEVa9eSN0", "TCP/IP and the OSI Model Explained!" %}
-{% endresources %}
+Free Content
+Cloudflare - What is the OSI model
+Geeksforgeeks - Layers of OSI model
+Geeksforgeeks - TCP/IP model
+TCP/IP and the OSI Model Explained!
diff --git a/src/roadmaps/computer-science/content/118-networking/index.md b/src/roadmaps/computer-science/content/118-networking/index.md
deleted file mode 100644
index 4b5133800..000000000
--- a/src/roadmaps/computer-science/content/118-networking/index.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# Networking
-
-Networking is the process of connecting two or more computing devices together for the purpose of sharing data. In a data network, shared data may be as simple as a printer or as complex as a global financial transaction.
-
-If you have networking experience or want to be a reliability engineer or operations engineer, expect questions from these topics. Otherwise, this is just good to know.
-
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=qiQR5rTSshw", "Computer Networking Course - Network Engineering" %}
- {% Blog "https://www.khanacademy.org/computing/code-org/computers-and-the-internet", "Khan Academy - Networking" %}
- {% Blog "https://www.youtube.com/playlist?list=PLEbnTDJUr_IegfoqO4iPnPYQui46QqT0j", "Networking Video Series (21 videos)" %}
-{% endresources %}
diff --git a/src/roadmaps/computer-science/content/118-networking/readme.md b/src/roadmaps/computer-science/content/118-networking/readme.md
new file mode 100644
index 000000000..1e4ea99bb
--- /dev/null
+++ b/src/roadmaps/computer-science/content/118-networking/readme.md
@@ -0,0 +1,9 @@
+# Networking
+
+Networking is the process of connecting two or more computing devices together for the purpose of sharing data. In a data network, shared data may be as simple as a printer or as complex as a global financial transaction.
+
+If you have networking experience or want to be a reliability engineer or operations engineer, expect questions from these topics. Otherwise, this is just good to know.
+
+Computer Networking Course - Network Engineering
+Khan Academy - Networking
+Networking Video Series (21 videos)
diff --git a/src/roadmaps/computer-science/content/119-security/100-public-key-cryptography.md b/src/roadmaps/computer-science/content/119-security/100-public-key-cryptography.md
index 6b6e0d249..88b5af40a 100644
--- a/src/roadmaps/computer-science/content/119-security/100-public-key-cryptography.md
+++ b/src/roadmaps/computer-science/content/119-security/100-public-key-cryptography.md
@@ -2,8 +2,7 @@
Public-key cryptography, or asymmetric cryptography, is the field of cryptographic systems that use pairs of related keys. Each key pair consists of a public key and a corresponding private key. Key pairs are generated with cryptographic algorithms based on mathematical problems termed one-way functions.
-{% resources %}
- {% Blog "https://en.wikipedia.org/wiki/Public-key_cryptography", "Public-key cryptography - Wikipedia" %}
- {% Blog "https://www.youtube.com/watch?v=GSIDS_lvRv4", "Public Key Cryptography - Computerphile" %}
- {% Blog "https://www.youtube.com/watch?v=wXB-V_Keiu8", "Public Key Cryptography: RSA Encryption Algorithm" %}
-{% endresources %}
+Free Content
+Public-key cryptography - Wikipedia
+Public Key Cryptography - Computerphile
+Public Key Cryptography: RSA Encryption Algorithm
diff --git a/src/roadmaps/computer-science/content/119-security/101-hashing-encryption-encoding.md b/src/roadmaps/computer-science/content/119-security/101-hashing-encryption-encoding.md
index efe6684f9..5951bf2f7 100644
--- a/src/roadmaps/computer-science/content/119-security/101-hashing-encryption-encoding.md
+++ b/src/roadmaps/computer-science/content/119-security/101-hashing-encryption-encoding.md
@@ -6,6 +6,5 @@ Encryption is a two-way function that takes an input and produces an output. The
Encoding is a two-way function that takes an input and produces an output. The output is called encoded text. The encoded text is a unique representation of the input. The encoded text is deterministic, meaning that the same input will always produce the same encoded text. The encoded text is reversible, meaning that it is possible to go from the encoded text back to the original input. The encoded text is not collision-resistant, meaning that it is possible to find two different inputs that produce the same encoded text.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=-bAnBzvMLig", "Encoding, Encryption and Hashing -- Whats the Difference?" %}
-{% endresources %}
+Free Content
+Encoding, Encryption and Hashing -- What's the Difference?
diff --git a/src/roadmaps/computer-science/content/119-security/102-hashing-algorithms.md b/src/roadmaps/computer-science/content/119-security/102-hashing-algorithms.md
index 531d00d0b..57efdd011 100644
--- a/src/roadmaps/computer-science/content/119-security/102-hashing-algorithms.md
+++ b/src/roadmaps/computer-science/content/119-security/102-hashing-algorithms.md
@@ -2,8 +2,7 @@
Hashing algorithms are used to generate a unique value for a given input. This value is called a hash. Hashing algorithms are used to verify the integrity of data, to store passwords, and to generate unique identifiers for data.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=b4b8ktEV4Bg", "Hashing Algorithms and Security - Computerphile" %}
- {% Blog "https://www.youtube.com/watch?v=Plp4F3ZfC7A", "Top Hashing Algorithms In Cryptography | MD5 and SHA 256 Algorithms Expalined | Simplilearn" %}
- {% Blog "https://www.youtube.com/watch?v=DMtFhACPnTY", "SHA: Secure Hashing Algorithm - Computerphile" %}
-{% endresources %}
+Free Content
+Hashing Algorithms and Security - Computerphile
+Top Hashing Algorithms In Cryptography | MD5 and SHA 256 Algorithms Expalined | Simplilearn
+SHA: Secure Hashing Algorithm - Computerphile
diff --git a/src/roadmaps/computer-science/content/119-security/103-owasp-top-10.md b/src/roadmaps/computer-science/content/119-security/103-owasp-top-10.md
index 4cd897c3b..78864e413 100644
--- a/src/roadmaps/computer-science/content/119-security/103-owasp-top-10.md
+++ b/src/roadmaps/computer-science/content/119-security/103-owasp-top-10.md
@@ -2,9 +2,8 @@
OWASP or Open Web Application Security Project is an online community that produces freely-available articles, methodologies, documentation, tools, and technologies in the field of web application security.
-{% resources %}
- {% Blog "https://en.wikipedia.org/wiki/OWASP", "Wikipedia - OWASP" %}
- {% Blog "https://github.com/0xRadi/OWASP-Web-Checklist", "OWASP Web Application Security Testing Checklist" %}
- {% Blog "https://sucuri.net/guides/owasp-top-10-security-vulnerabilities-2021/", "OWASP Top 10 Security Risks" %}
- {% Blog "https://cheatsheetseries.owasp.org/cheatsheets/AJAX_Security_Cheat_Sheet.html", "OWASP Cheatsheets" %}
-{% endresources %}
+Free Content
+Wikipedia - OWASP
+OWASP Web Application Security Testing Checklist
+OWASP Top 10 Security Risks
+OWASP Cheatsheets
diff --git a/src/roadmaps/computer-science/content/119-security/index.md b/src/roadmaps/computer-science/content/119-security/index.md
deleted file mode 100644
index 89b3dfae7..000000000
--- a/src/roadmaps/computer-science/content/119-security/index.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Security
-
-Web security refers to the protective measures taken by the developers to protect the web applications from threats that could affect the business.
-
-{% resources %}
- {% Blog "https://www.youtube.com/playlist?list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh", "MIT 6.858 Computer Systems Security, Fall 2014" %}
- {% Blog "https://developers.google.com/web/fundamentals/security/encrypt-in-transit/why-https", "Why HTTPS Matters" %}
- {% Blog "https://en.wikipedia.org/wiki/OWASP", "Wikipedia - OWASP" %}
- {% Blog "https://github.com/0xRadi/OWASP-Web-Checklist", "OWASP Web Application Security Testing Checklist" %}
- {% Blog "https://sucuri.net/guides/owasp-top-10-security-vulnerabilities-2021/", "OWASP Top 10 Security Risks" %}
- {% Blog "https://cheatsheetseries.owasp.org/cheatsheets/AJAX_Security_Cheat_Sheet.html", "OWASP Cheatsheets" %}
- {% Blog "https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP", "Content Security Policy (CSP)" %}
-{% endresources %}
diff --git a/src/roadmaps/computer-science/content/119-security/readme.md b/src/roadmaps/computer-science/content/119-security/readme.md
new file mode 100644
index 000000000..139515145
--- /dev/null
+++ b/src/roadmaps/computer-science/content/119-security/readme.md
@@ -0,0 +1,12 @@
+# Security
+
+Web security refers to the protective measures taken by the developers to protect the web applications from threats that could affect the business.
+
+Free Content
+MIT 6.858 Computer Systems Security, Fall 2014
+Why HTTPS Matters
+Wikipedia - OWASP
+OWASP Web Application Security Testing Checklist
+OWASP Top 10 Security Risks
+OWASP Cheatsheets
+Content Security Policy (CSP)
diff --git a/src/roadmaps/computer-science/content/120-how-computers-work/100-how-cpu-executes-programs.md b/src/roadmaps/computer-science/content/120-how-computers-work/100-how-cpu-executes-programs.md
index b617240c7..efc07924a 100644
--- a/src/roadmaps/computer-science/content/120-how-computers-work/100-how-cpu-executes-programs.md
+++ b/src/roadmaps/computer-science/content/120-how-computers-work/100-how-cpu-executes-programs.md
@@ -1,5 +1,4 @@
# How CPU Executes Programs?
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=XM4lGflQFvA", "How CPU executes a program" %}
-{% endresources %}
+Free Content
+How CPU executes a program
diff --git a/src/roadmaps/computer-science/content/120-how-computers-work/101-how-computers-calculate.md b/src/roadmaps/computer-science/content/120-how-computers-work/101-how-computers-calculate.md
index cdc34be77..523c60ae9 100644
--- a/src/roadmaps/computer-science/content/120-how-computers-work/101-how-computers-calculate.md
+++ b/src/roadmaps/computer-science/content/120-how-computers-work/101-how-computers-calculate.md
@@ -1,5 +1,4 @@
# How Computers Calculate?
-{% resources %}
- {% Blog "https://youtu.be/1I5ZMmrOfnA", "How computers calculate - ALU" %}
-{% endresources %}
+Free Content
+How computers calculate - ALU
diff --git a/src/roadmaps/computer-science/content/120-how-computers-work/102-registers-and-ram.md b/src/roadmaps/computer-science/content/120-how-computers-work/102-registers-and-ram.md
index bbdc1cb34..e28d34cc4 100644
--- a/src/roadmaps/computer-science/content/120-how-computers-work/102-registers-and-ram.md
+++ b/src/roadmaps/computer-science/content/120-how-computers-work/102-registers-and-ram.md
@@ -1,5 +1,12 @@
# Registers and RAMs
-{% resources %}
- {% Blog "https://youtu.be/fpnE6UAfbtU", "Registers and RAM" %}
-{% endresources %}
+***Registers*** are the smallest data-holding elements built into the processor itself. Registers are the memory locations that are directly accessible by the processor. The registers hold the instruction or operands currently accessed by the CPU.
+
+Registers are the high-speed accessible storage elements. The processor accesses the registers within one CPU clock cycle. The processor can decode the instructions and perform operations on the register contents at more than one operation per CPU clock cycle.
+
+***Memory*** is a hardware device that stores computer programs, instructions, and data. The memory that is internal to the processor is primary memory (RAM), and the memory that is external to the processor is secondary (**Hard Drive**).
+Primary memory or RAM is a volatile memory, meaning the primary memory data exist when the system's power is on, and the data vanishes as the system is switched off. The primary memory contains the data required by the currently executing program in the CPU. If the data required by the processor is not in primary memory, then the data is transferred from secondary storage to primary memory, and then it is fetched by the processor.
+
+
+Free Content
+Registers and RAM
diff --git a/src/roadmaps/computer-science/content/120-how-computers-work/103-instructions-and-programs.md b/src/roadmaps/computer-science/content/120-how-computers-work/103-instructions-and-programs.md
index 9d6f8fa85..44116d121 100644
--- a/src/roadmaps/computer-science/content/120-how-computers-work/103-instructions-and-programs.md
+++ b/src/roadmaps/computer-science/content/120-how-computers-work/103-instructions-and-programs.md
@@ -1,5 +1,4 @@
# Instructions and Programs
-{% resources %}
- {% Blog "https://youtu.be/zltgXvg6r3k", "Instructions and Programs" %}
-{% endresources %}
+Free Content
+Instructions and Programs
diff --git a/src/roadmaps/computer-science/content/120-how-computers-work/104-cpu-cache.md b/src/roadmaps/computer-science/content/120-how-computers-work/104-cpu-cache.md
index b4aaddeb8..bc1472ddc 100644
--- a/src/roadmaps/computer-science/content/120-how-computers-work/104-cpu-cache.md
+++ b/src/roadmaps/computer-science/content/120-how-computers-work/104-cpu-cache.md
@@ -1,6 +1,5 @@
# CPU Cache
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=vjYF_fAZI5E&list=PLrRW1w6CGAcXbMtDFj205vALOGmiRc82-&index=24", "MIT 6.004 L15: The Memory Hierarchy" %}
- {% Blog "https://www.youtube.com/watch?v=ajgC3-pyGlk&index=25&list=PLrRW1w6CGAcXbMtDFj205vALOGmiRc82-", "MIT 6.004 L16: Cache Issues" %}
-{% endresources %}
+Free Content
+MIT 6.004 L15: The Memory Hierarchy
+MIT 6.004 L16: Cache Issues
diff --git a/src/roadmaps/computer-science/content/120-how-computers-work/index.md b/src/roadmaps/computer-science/content/120-how-computers-work/index.md
deleted file mode 100644
index cb707b426..000000000
--- a/src/roadmaps/computer-science/content/120-how-computers-work/index.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# How Computers Work?
-
-Computers are everywhere. They are in our phones, our cars, our homes, and even in our pockets. But how do they actually work? How do they take in information, and how do they output information?
-
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=XM4lGflQFvA", "How CPU executes a program" %}
- {% Blog "https://youtu.be/1I5ZMmrOfnA", "How computers calculate - ALU" %}
- {% Blog "https://youtu.be/fpnE6UAfbtU", "Registers and RAM" %}
- {% Blog "https://youtu.be/FZGugFqdr60", "The Central Processing Unit (CPU)" %}
- {% Blog "https://youtu.be/zltgXvg6r3k", "Instructions and Programs" %}
-{% endresources %}
diff --git a/src/roadmaps/computer-science/content/120-how-computers-work/readme.md b/src/roadmaps/computer-science/content/120-how-computers-work/readme.md
new file mode 100644
index 000000000..ad6a3465e
--- /dev/null
+++ b/src/roadmaps/computer-science/content/120-how-computers-work/readme.md
@@ -0,0 +1,10 @@
+# How Computers Work?
+
+Computers are everywhere. They are in our phones, our cars, our homes, and even in our pockets. But how do they actually work? How do they take in information, and how do they output information?
+
+Free Content
+How CPU executes a program
+How computers calculate - ALU
+Registers and RAM
+The Central Processing Unit (CPU)
+Instructions and Programs
diff --git a/src/roadmaps/computer-science/content/121-processes-and-threads/100-process-forking.md b/src/roadmaps/computer-science/content/121-processes-and-threads/100-process-forking.md
index 8eee59e4d..8a5d002c0 100644
--- a/src/roadmaps/computer-science/content/121-processes-and-threads/100-process-forking.md
+++ b/src/roadmaps/computer-science/content/121-processes-and-threads/100-process-forking.md
@@ -2,8 +2,7 @@
Process forking is a way to create a new process from an existing process. The new process is a copy of the existing process. The new process is called a child process and the existing process is called a parent process.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=PwxTbksJ2fo", "Understanding fork() system call for new process creation" %}
- {% Blog "https://www.youtube.com/watch?v=IFEFVXvjiHY", "fork() and exec() System Calls" %}
- {% Blog "https://www.youtube.com/watch?v=cex9XrZCU14", "The fork() function in C" %}
-{% endresources %}
+Free Content
+Understanding fork() system call for new process creation
+fork() and exec() System Calls
+The fork() function in C
diff --git a/src/roadmaps/computer-science/content/121-processes-and-threads/101-memory-management.md b/src/roadmaps/computer-science/content/121-processes-and-threads/101-memory-management.md
index e7b0d17f0..1ec4c0372 100644
--- a/src/roadmaps/computer-science/content/121-processes-and-threads/101-memory-management.md
+++ b/src/roadmaps/computer-science/content/121-processes-and-threads/101-memory-management.md
@@ -2,7 +2,6 @@
Memory management is the process of allocating and deallocating memory. It is a very important part of any programming language.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=vjYF_fAZI5E&list=PLrRW1w6CGAcXbMtDFj205vALOGmiRc82-&index=24", "MIT 6.004 L15: The Memory Hierarchy" %}
- {% Blog "https://www.youtube.com/watch?v=ajgC3-pyGlk&index=25&list=PLrRW1w6CGAcXbMtDFj205vALOGmiRc82-", "MIT 6.004 L16: Cache Issues" %}
-{% endresources %}
+Free Content
+MIT 6.004 L15: The Memory Hierarchy
+MIT 6.004 L16: Cache Issues
diff --git a/src/roadmaps/computer-science/content/121-processes-and-threads/102-lock-mutex-semaphore.md b/src/roadmaps/computer-science/content/121-processes-and-threads/102-lock-mutex-semaphore.md
index 5a496f4f9..e0ead8d7f 100644
--- a/src/roadmaps/computer-science/content/121-processes-and-threads/102-lock-mutex-semaphore.md
+++ b/src/roadmaps/computer-science/content/121-processes-and-threads/102-lock-mutex-semaphore.md
@@ -6,8 +6,7 @@ A mutex is the same as a lock but it can be system wide (shared by multiple proc
A semaphore does the same as a mutex but allows x number of threads to enter, this can be used for example to limit the number of cpu, io or ram intensive tasks running at the same time.
-{% resources %}
- {% Blog "https://stackoverflow.com/questions/2332765/what-is-the-difference-between-lock-mutex-and-semaphore", "What is the difference between lock, mutex and semaphore?" %}
- {% Blog "https://stackoverflow.com/questions/34519/what-is-a-semaphore/40238#40238", "What is a Semaphore" %}
- {% Blog "https://www.geeksforgeeks.org/mutex-vs-semaphore/", "Mutex vs Semaphore" %}
-{% endresources %}
+Free Content
+What is the difference between lock, mutex and semaphore?
+What is a Semaphore
+Mutex vs Semaphore
diff --git a/src/roadmaps/computer-science/content/121-processes-and-threads/103-concurrency-in-multiple-cores.md b/src/roadmaps/computer-science/content/121-processes-and-threads/103-concurrency-in-multiple-cores.md
index cbc0a72bd..970c6b146 100644
--- a/src/roadmaps/computer-science/content/121-processes-and-threads/103-concurrency-in-multiple-cores.md
+++ b/src/roadmaps/computer-science/content/121-processes-and-threads/103-concurrency-in-multiple-cores.md
@@ -1,6 +1,5 @@
# Concurrency in Multiple Cores
-{% resources %}
- {% Blog "https://stackoverflow.com/questions/5372861/what-is-the-difference-between-multicore-and-concurrent-programming", "What is the difference between multicore and concurrent programming?" %}
- {% Blog "https://cs.stackexchange.com/questions/140793/concurrency-in-multiple-core", "Concurrency in Multicore systems" %}
-{% endresources %}
+Free Content
+What is the difference between multicore and concurrent programming?
+Concurrency in Multicore systems
diff --git a/src/roadmaps/computer-science/content/121-processes-and-threads/104-cpu-interrupts.md b/src/roadmaps/computer-science/content/121-processes-and-threads/104-cpu-interrupts.md
index b2b2c41e3..2210b330e 100644
--- a/src/roadmaps/computer-science/content/121-processes-and-threads/104-cpu-interrupts.md
+++ b/src/roadmaps/computer-science/content/121-processes-and-threads/104-cpu-interrupts.md
@@ -2,6 +2,5 @@
CPU Interrupts are a way for the CPU to communicate with the rest of the computer. They are a way for the CPU to tell the rest of the computer that it needs to do something. For example, if the CPU is running a program and it needs to read from the keyboard, it will send an interrupt to the keyboard to tell it to send the data to the CPU. The CPU will then wait for the keyboard to send the data and then continue running the program.
-{% resources %}
- {% Blog "https://youtu.be/iKlAWIKEyuw", "Video on Interrupts" %}
-{% endresources %}
+Free Content
+Video on Interrupts
diff --git a/src/roadmaps/computer-science/content/121-processes-and-threads/105-processes-vs-threads.md b/src/roadmaps/computer-science/content/121-processes-and-threads/105-processes-vs-threads.md
index 604095a4f..83ea94bb0 100644
--- a/src/roadmaps/computer-science/content/121-processes-and-threads/105-processes-vs-threads.md
+++ b/src/roadmaps/computer-science/content/121-processes-and-threads/105-processes-vs-threads.md
@@ -2,7 +2,6 @@
Processes and threads are the basic building blocks of a computer program. They are the smallest units of execution in a program. A process is an instance of a program that is being executed. A thread is a sequence of instructions within a process that can be executed independently of other code.
-{% resources %}
- {% Blog "https://www.quora.com/What-is-the-difference-between-a-process-and-a-thread", "Whats the difference between Process and a Thread?" %}
- {% Blog "https://archive.org/details/ucberkeley-webcast-PL-XXv-cvA_iBDyz-ba4yDskqMDY6A1w_c", "Operating Systems and System Programming" %}
-{% endresources %}
+Free Content
+What's the difference between Process and a Thread?
+Operating Systems and System Programming
diff --git a/src/roadmaps/computer-science/content/121-processes-and-threads/index.md b/src/roadmaps/computer-science/content/121-processes-and-threads/index.md
deleted file mode 100644
index 604095a4f..000000000
--- a/src/roadmaps/computer-science/content/121-processes-and-threads/index.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Processes and Threads
-
-Processes and threads are the basic building blocks of a computer program. They are the smallest units of execution in a program. A process is an instance of a program that is being executed. A thread is a sequence of instructions within a process that can be executed independently of other code.
-
-{% resources %}
- {% Blog "https://www.quora.com/What-is-the-difference-between-a-process-and-a-thread", "Whats the difference between Process and a Thread?" %}
- {% Blog "https://archive.org/details/ucberkeley-webcast-PL-XXv-cvA_iBDyz-ba4yDskqMDY6A1w_c", "Operating Systems and System Programming" %}
-{% endresources %}
diff --git a/src/roadmaps/computer-science/content/121-processes-and-threads/readme.md b/src/roadmaps/computer-science/content/121-processes-and-threads/readme.md
new file mode 100644
index 000000000..83ea94bb0
--- /dev/null
+++ b/src/roadmaps/computer-science/content/121-processes-and-threads/readme.md
@@ -0,0 +1,7 @@
+# Processes and Threads
+
+Processes and threads are the basic building blocks of a computer program. They are the smallest units of execution in a program. A process is an instance of a program that is being executed. A thread is a sequence of instructions within a process that can be executed independently of other code.
+
+Free Content
+What's the difference between Process and a Thread?
+Operating Systems and System Programming
diff --git a/src/roadmaps/computer-science/content/122-kd-trees.md b/src/roadmaps/computer-science/content/122-kd-trees.md
index 41ee9ba06..8881b419c 100644
--- a/src/roadmaps/computer-science/content/122-kd-trees.md
+++ b/src/roadmaps/computer-science/content/122-kd-trees.md
@@ -2,7 +2,6 @@
K-D Trees are a data structure that allow for fast nearest neighbor search in high dimensional spaces. They are a generalization of binary search trees, and are used in a variety of applications, including computer vision and computational geometry.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=Y4ZgLlDfKDg", "K-D Tree Algorithm" %}
- {% Blog "https://www.youtube.com/watch?v=BK5x7IUTIyU", "K-d Trees - Computerphile" %}
-{% endresources %}
+Free Content
+K-D Tree Algorithm
+K-d Trees - Computerphile
diff --git a/src/roadmaps/computer-science/content/123-skip-lists.md b/src/roadmaps/computer-science/content/123-skip-lists.md
index b49a3ef78..93dcb7379 100644
--- a/src/roadmaps/computer-science/content/123-skip-lists.md
+++ b/src/roadmaps/computer-science/content/123-skip-lists.md
@@ -2,7 +2,6 @@
Skip lists are a data structure that allows you to perform operations on a sorted list in O(log n) time. Skip lists are a probabilistic data structure, which means that the probability of a certain operation taking a certain amount of time is a certain value. In the case of skip lists, the probability of an operation taking O(log n) time is 1.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=2g9OSRKJuzM&index=10&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp", "Randomization: Skip Lists" %}
- {% Blog "https://en.wikipedia.org/wiki/Skip_list", "Skip Lists - Wikipedia" %}
-{% endresources %}
+Free Content
+Randomization: Skip Lists
+Skip Lists - Wikipedia
diff --git a/src/roadmaps/computer-science/content/readme.md b/src/roadmaps/computer-science/content/readme.md
new file mode 100644
index 000000000..4e768b56d
--- /dev/null
+++ b/src/roadmaps/computer-science/content/readme.md
@@ -0,0 +1 @@
+#
\ No newline at end of file
diff --git a/src/roadmaps/cyber-security/cyber-security.md b/src/roadmaps/cyber-security/cyber-security.md
deleted file mode 100644
index e8ce384e9..000000000
--- a/src/roadmaps/cyber-security/cyber-security.md
+++ /dev/null
@@ -1,45 +0,0 @@
----
-jsonUrl: "/jsons/cyber-security.json"
-pdfUrl: "/pdfs/cyber-security.pdf"
-order: 12
-featuredTitle: "Cyber Security"
-featuredDescription: "Step by step guide to becoming a Cyber Security Expert in 2022"
-title: "Cyber Security Expert"
-description: "Step by step guide to becoming a Cyber Security developer in 2022"
-isUpcoming: true
-seo:
- title: "Cyber Security Roadmap"
- description: "Community driven, articles, resources, guides, interview questions, quizzes for cyber security. Learn to become a modern Cyber Security developer by following the steps, skills, resources and guides listed in this roadmap."
- keywords:
- - "guide to becoming a cyber security expert"
- - "guide to becoming a cyber security expert"
- - "cyber security expert"
- - "cyber security skills"
- - "guide to cyber security"
- - "cyber security roadmap"
- - "cyber security skills"
- - "cyber security skills test"
- - "skills for cyber security"
- - "what is cyber security"
- - "cyber security quiz"
- - "cyber security interview questions"
- - "cyber security engineer roadmap"
- - "cyber security expert roadmap"
- - "become a cyber security expert"
- - "cyber security expert career path"
- - "cyber security expert"
- - "modern cyber security expert"
-relatedRoadmaps:
- - "backend"
- - "devops"
- - "java"
- - "python"
- - "nodejs"
-sitemap:
- priority: 1
- changefreq: "monthly"
-tags:
- - "roadmap"
- - "main-sitemap"
- - "role-roadmap"
----
diff --git a/src/roadmaps/design-system/content/100-design-system-basics/100-what-is-design-system.md b/src/roadmaps/design-system/content/100-design-system-basics/100-what-is-design-system.md
index bfe100620..87d116862 100644
--- a/src/roadmaps/design-system/content/100-design-system-basics/100-what-is-design-system.md
+++ b/src/roadmaps/design-system/content/100-design-system-basics/100-what-is-design-system.md
@@ -2,9 +2,7 @@
A Design System is the single source of truth which groups all the elements that will allow the teams to design, realize and develop a product.
-{% resources %}
- {% Blog "https://uxdesign.cc/everything-you-need-to-know-about-design-systems-54b109851969", "Everything you need to know about Design Systems" %}
- {% Blog "https://www.nngroup.com/articles/design-systems-101/", "Design Systems 101" %}
- {% Blog "https://www.invisionapp.com/inside-design/guide-to-design-systems/", "A comprehensive guide to design systems" %}
-{% endresources %}
+Everything you need to know about Design Systems
+Design Systems 101
+A comprehensive guide to design systems
diff --git a/src/roadmaps/design-system/content/100-design-system-basics/101-need-of-design-system.md b/src/roadmaps/design-system/content/100-design-system-basics/101-need-of-design-system.md
index 358d6e3e0..9869428a2 100644
--- a/src/roadmaps/design-system/content/100-design-system-basics/101-need-of-design-system.md
+++ b/src/roadmaps/design-system/content/100-design-system-basics/101-need-of-design-system.md
@@ -2,10 +2,8 @@
Having a solid design system speeds up your work by making the product team more efficient, and it creates consistency and harmony within the product and brand ecosystem. A strong design system takes the burden off individual designers to think through commonly recurring design problems. With a full library of pre-approved elements, designers can focus on bigger problems like creating seamless, intuitive flows that delight users. That kind of efficiency pays huge dividends over time.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=Hx02SaL_IH0", "Design Systems, when and how much?" %}
- {% Blog "https://www.drawbackwards.com/blog/why-you-need-a-strong-design-system-and-how-to-build-one", "Why You Need a Strong Design System (and How to Build One)" %}
- {% Blog "https://www.smashingmagazine.com/2016/05/design-systems-responsive-design-sell-output-not-workflow/", "On Design Systems: Sell The Output, Not The Workflow" %}
-{% endresources %}
+Design Systems, when and how much?
+Why You Need a Strong Design System (and How to Build One)
+On Design Systems: Sell The Output, Not The Workflow
diff --git a/src/roadmaps/design-system/content/100-design-system-basics/102-design-system-vs-component-library.md b/src/roadmaps/design-system/content/100-design-system-basics/102-design-system-vs-component-library.md
index b63889303..9148ebdbf 100644
--- a/src/roadmaps/design-system/content/100-design-system-basics/102-design-system-vs-component-library.md
+++ b/src/roadmaps/design-system/content/100-design-system-basics/102-design-system-vs-component-library.md
@@ -2,10 +2,8 @@
A component library is just a collection of visuals i.e. colours, button stylings, fonts, etc. A Design System takes it to the next level by including standards and documentation around the look and usage of each component. The Design System acts as the single-source of truth.
-{% resources %}
- {% Blog "https://www.architech.ca/a-design-system-so-much-more-than-a-component-library", "A Design System: So Much More Than A Component Library" %}
- {% Blog "https://prototype.net/blog/design-system-component-library-style-guide", "Design System vs UI Component Library vs Brand Style Guide" %}
- {% Blog "https://www.uxpin.com/studio/blog/design-systems-vs-pattern-libraries-vs-style-guides-whats-difference/", "Design Systems vs Pattern Libraries vs Style Guides vs Component Libraries" %}
-{% endresources %}
+A Design System: So Much More Than A Component Library
+Design System vs UI Component Library vs Brand Style Guide
+Design Systems vs Pattern Libraries vs Style Guides vs Component Libraries
diff --git a/src/roadmaps/design-system/content/100-design-system-basics/103-atomic-design.md b/src/roadmaps/design-system/content/100-design-system-basics/103-atomic-design.md
index b40a71c05..f2e8870cd 100644
--- a/src/roadmaps/design-system/content/100-design-system-basics/103-atomic-design.md
+++ b/src/roadmaps/design-system/content/100-design-system-basics/103-atomic-design.md
@@ -2,9 +2,7 @@
Atomic design (by Brad Frost) is a mental model to help you think of user interfaces as a cohesive whole and a collection of parts at the same time. Through the comparison to atoms, molecules, and organisms, we can think of the design of our UI as a composition of self-containing modules put together.
-{% resources %}
- {% Blog "https://xd.adobe.com/ideas/process/ui-design/atomic-design-principles-methodology-101/", "Atomic Design Principles & Methodology 101" %}
- {% Blog "https://atomicdesign.bradfrost.com/chapter-2/", "Atomic Design Methodology" %}
- {% Blog "https://blog.bitsrc.io/atomic-design-and-ui-components-theory-to-practice-f200db337c24", "Atomic Design and UI Components: Theory to Practice" %}
-{% endresources %}
+Atomic Design Principles & Methodology 101
+Atomic Design Methodology
+Atomic Design and UI Components: Theory to Practice
diff --git a/src/roadmaps/design-system/content/100-design-system-basics/105-stakeholders-involved.md b/src/roadmaps/design-system/content/100-design-system-basics/105-stakeholders-involved.md
index 5e4caf4df..67dbed2b4 100644
--- a/src/roadmaps/design-system/content/100-design-system-basics/105-stakeholders-involved.md
+++ b/src/roadmaps/design-system/content/100-design-system-basics/105-stakeholders-involved.md
@@ -12,6 +12,4 @@ Building an effective design system is not an individual responsibility, you nee
- **Leaders:** (VPs and directors) to champion and align the vision throughout the company including up to executive leadership
-{% resources %}
- {% Blog "https://www.designbetter.co/design-systems-handbook/designing-design-system", "Designing the Design System" %}
-{% endresources %}
+Designing the Design System
diff --git a/src/roadmaps/design-system/content/100-design-system-basics/106-design-system-examples.md b/src/roadmaps/design-system/content/100-design-system-basics/106-design-system-examples.md
index 3d7dbcd7d..25b8abb81 100644
--- a/src/roadmaps/design-system/content/100-design-system-basics/106-design-system-examples.md
+++ b/src/roadmaps/design-system/content/100-design-system-basics/106-design-system-examples.md
@@ -1,11 +1,11 @@
# Design System Examples
-{% resources %}
- {% Blog "https://material.io/", "Material Design (Google)" %}
- {% Blog "https://carbondesignsystem.com/", "Carbon Design System (IBM)" %}
- {% Blog "https://atlassian.design/", "Atlassian Design System" %}
- {% Blog "https://polaris.shopify.com/", "Polaris Design System (Shopify)" %}
- {% Blog "https://design-system.service.gov.uk/", "Gov.uk Design System" %}
- {% Blog "https://github.com/alexpate/awesome-design-systems", "Collection of Open Source Design Systems" %}
-{% endresources %}
+Material Design (Google)
+Carbon Design System (IBM)
+Atlassian Design System
+Polaris Design System (Shopify)
+Gov.uk Design System
+
+
+Collection of Open Source Design Systems
diff --git a/src/roadmaps/design-system/content/100-design-system-basics/index.md b/src/roadmaps/design-system/content/100-design-system-basics/index.md
deleted file mode 100644
index 29c0c8f63..000000000
--- a/src/roadmaps/design-system/content/100-design-system-basics/index.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Design System Basics
-
-A design system is a set of standards to manage design at scale by reducing redundancy while creating a shared language and visual consistency across different pages and channels.
-
-{% resources %}
- {% Blog "https://www.nngroup.com/articles/design-systems-101/", "Design Systems 101" %}
- {% Blog "https://www.youtube.com/watch?v=wc5krC28ynQ", "What is a Design System? Design Systems 101 for Designers" %}
- {% Blog "https://www.invisionapp.com/inside-design/guide-to-design-systems/", "A comprehensive guide to design systems" %}
- {% Blog "https://uxdesign.cc/everything-you-need-to-know-about-design-systems-54b109851969", "Everything you need to know about Design Systems" %}
-{% endresources %}
-
-
-
diff --git a/src/roadmaps/design-system/content/100-design-system-basics/readme.md b/src/roadmaps/design-system/content/100-design-system-basics/readme.md
new file mode 100644
index 000000000..aa0f5fc8d
--- /dev/null
+++ b/src/roadmaps/design-system/content/100-design-system-basics/readme.md
@@ -0,0 +1,11 @@
+# Design System Basics
+
+A design system is a set of standards to manage design at scale by reducing redundancy while creating a shared language and visual consistency across different pages and channels.
+
+Design Systems 101
+What is a Design System? Design Systems 101 for Designers
+A comprehensive guide to design systems
+Everything you need to know about Design Systems
+
+
+
diff --git a/src/roadmaps/design-system/content/101-design-system-terminology/101-component-library.md b/src/roadmaps/design-system/content/101-design-system-terminology/101-component-library.md
index 3de585040..6bad4c86f 100644
--- a/src/roadmaps/design-system/content/101-design-system-terminology/101-component-library.md
+++ b/src/roadmaps/design-system/content/101-design-system-terminology/101-component-library.md
@@ -2,8 +2,6 @@
A component library is a collection of all the components used in a website, software or app. Some of the common tools to showcase and browse components in a component library include are given below:
-{% resources %}
- {% Blog "https://patternlab.io/", "Pattern Lab" %}
- {% Blog "https://fractal.build/", "Fractal" %}
- {% Blog "https://storybook.js.org/", "Storybook" %}
-{% endresources %}
+Pattern Lab
+Fractal
+Storybook
diff --git a/src/roadmaps/design-system/content/101-design-system-terminology/102-design-language.md b/src/roadmaps/design-system/content/101-design-system-terminology/102-design-language.md
index 657b75425..175f0c758 100644
--- a/src/roadmaps/design-system/content/101-design-system-terminology/102-design-language.md
+++ b/src/roadmaps/design-system/content/101-design-system-terminology/102-design-language.md
@@ -2,12 +2,10 @@
A design language or design vocabulary is an overarching scheme or style that guides the design of a complement of products or architectural settings, creating a coherent design system for styling.
-{% resources %}
- {% Blog "https://medium.com/thinking-design/what-is-a-design-language-really-cd1ef87be793", "What is a Design Language.. really?" %}
- {% Blog "https://xd.adobe.com/ideas/principles/web-design/how-to-develop-design-language/", "How to Develop a Design Language" %}
- {% Blog "https://www.uxpin.com/studio/blog/design-language/", "What Actually Constitutes Design Language?" %}
- {% Blog "https://www.smashingmagazine.com/2020/03/visual-design-language-building-blocks/", "Visual Design Language: The Building Blocks Of Design" %}
-{% endresources %}
+What is a Design Language.. really?
+How to Develop a Design Language
+What Actually Constitutes Design Language?
+Visual Design Language: The Building Blocks Of Design
diff --git a/src/roadmaps/design-system/content/101-design-system-terminology/103-governance.md b/src/roadmaps/design-system/content/101-design-system-terminology/103-governance.md
index 6cc755c3c..9684d5c07 100644
--- a/src/roadmaps/design-system/content/101-design-system-terminology/103-governance.md
+++ b/src/roadmaps/design-system/content/101-design-system-terminology/103-governance.md
@@ -2,12 +2,10 @@
Governance is a framework for clarifying roles, responsibilities, and authority over decisions. Having that clarity ensures that decisions for the design system funnel smoothly through the governance process
-{% resources %}
- {% Blog "https://zeroheight.com/blog/governance-is-a-design-systems-friend", "Governance is a design system’s friend" %}
- {% Blog "https://www.uxpin.com/studio/blog/design-system-governance/", "Design System Governance – Scale Your Design" %}
- {% Blog "https://rangle.io/blog/governance-by-design-building-successful-design-systems/", "Governance by design: Building successful design systems" %}
- {% Blog "https://medium.com/eightshapes-llc/team-models-for-scaling-a-design-system-2cf9d03be6a0", "Team Models for Scaling a Design System" %}
-{% endresources %}
+Governance is a design system’s friend
+Design System Governance – Scale Your Design
+Governance by design: Building successful design systems
+Team Models for Scaling a Design System
diff --git a/src/roadmaps/design-system/content/101-design-system-terminology/104-guidelines.md b/src/roadmaps/design-system/content/101-design-system-terminology/104-guidelines.md
index 054388e61..e4b99fd34 100644
--- a/src/roadmaps/design-system/content/101-design-system-terminology/104-guidelines.md
+++ b/src/roadmaps/design-system/content/101-design-system-terminology/104-guidelines.md
@@ -2,6 +2,4 @@
Design guidelines are sets of recommendations on how to apply design principles to provide a positive user experience. Designers use such guidelines to judge how to adopt principles such as intuitiveness, learnability, efficiency and consistency so they can create compelling designs and meet and exceed user needs.
-{% resources %}
- {% Blog "https://www.interaction-design.org/literature/topics/design-guidelines", "Design Guidelines" %}
-{% endresources %}
+Design Guidelines
diff --git a/src/roadmaps/design-system/content/101-design-system-terminology/106-pilot.md b/src/roadmaps/design-system/content/101-design-system-terminology/106-pilot.md
index 49f4457fc..63ac66755 100644
--- a/src/roadmaps/design-system/content/101-design-system-terminology/106-pilot.md
+++ b/src/roadmaps/design-system/content/101-design-system-terminology/106-pilot.md
@@ -2,6 +2,4 @@
Pilots are one of the best ways to put your design system through its paces, especially before the design system even gets to a v1. Like television pilots help test audience reactions to a series concept without investing significant resources to create the whole thing, application pilots are a good foundation for ensuring your design system’s design and code are battle-tested.
-{% resources %}
- {% Blog "https://superfriendly.com/design-systems/articles/design-systems-pilots-scorecards/", "Design Systems: Pilots & Scorecards" %}
-{% endresources %}
+Design Systems: Pilots & Scorecards
diff --git a/src/roadmaps/design-system/content/101-design-system-terminology/107-token.md b/src/roadmaps/design-system/content/101-design-system-terminology/107-token.md
index 22655f60b..b2024be55 100644
--- a/src/roadmaps/design-system/content/101-design-system-terminology/107-token.md
+++ b/src/roadmaps/design-system/content/101-design-system-terminology/107-token.md
@@ -2,7 +2,5 @@
Design system tokens are the style values of UI elements such as color, typography, spacing, shadows, etc., that are used across products and capable of being converted to a format for any platform (web, mobile, desktop). Tokens are building blocks of the design system—think of them as sub atoms, the smallest pieces of style values that allow designers to create styles for a product.
-{% resources %}
- {% Blog "https://xd.adobe.com/ideas/principles/design-systems/what-are-design-tokens/", "What Are Design Tokens?" %}
-{% endresources %}
+What Are Design Tokens?
diff --git a/src/roadmaps/design-system/content/101-design-system-terminology/108-ui-kit.md b/src/roadmaps/design-system/content/101-design-system-terminology/108-ui-kit.md
index 29d82a7ca..d713c3fec 100644
--- a/src/roadmaps/design-system/content/101-design-system-terminology/108-ui-kit.md
+++ b/src/roadmaps/design-system/content/101-design-system-terminology/108-ui-kit.md
@@ -3,7 +3,5 @@
As it relates to a design system, a UI Kit is a representation of coded components created in a way that designers who don’t know code can create interface mockups. Examples of UI kits are Sketch libraries and [Figma design systems](https://www.figma.com/blog/how-to-build-your-design-system-in-figma/).
-{% resources %}
- {% Blog "https://uigstudio.com/insights/design-system-vs-ui-kit", "Design System vs UI Kit" %}
- {% Blog "http://bradfrost.com/blog/post/your-sketch-library-is-not-a-design-system/", "Your sketch library is not a design system" %}
-{% endresources %}
+Design System vs UI Kit
+Your sketch library is not a design system
diff --git a/src/roadmaps/design-system/content/101-design-system-terminology/index.md b/src/roadmaps/design-system/content/101-design-system-terminology/index.md
deleted file mode 100644
index 85b902e3f..000000000
--- a/src/roadmaps/design-system/content/101-design-system-terminology/index.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Terminology
-
-Design systems can be tricky if you don’t know what certain words mean. Have a look at the roadmap nodes as well as follow the link below to read the glossary.
-
-{% resources %}
- {% Blog "https://superfriendly.com/design-systems/glossary/", "Design Systems Glossary" %}
-{% endresources %}
-
diff --git a/src/roadmaps/design-system/content/101-design-system-terminology/readme.md b/src/roadmaps/design-system/content/101-design-system-terminology/readme.md
new file mode 100644
index 000000000..6bd1cd7e4
--- /dev/null
+++ b/src/roadmaps/design-system/content/101-design-system-terminology/readme.md
@@ -0,0 +1,6 @@
+# Terminology
+
+Design systems can be tricky if you don’t know what certain words mean. Have a look at the roadmap nodes as well as follow the link below to read the glossary.
+
+Design Systems Glossary
+
diff --git a/src/roadmaps/design-system/content/102-making-a-design-system/100-from-scratch.md b/src/roadmaps/design-system/content/102-making-a-design-system/100-from-scratch.md
index 88d665df7..8d38707f9 100644
--- a/src/roadmaps/design-system/content/102-making-a-design-system/100-from-scratch.md
+++ b/src/roadmaps/design-system/content/102-making-a-design-system/100-from-scratch.md
@@ -2,7 +2,5 @@
If you are building a Design System from Scratch, you may skip the "Existing Design Analysis" node of the roadmap and start with "Creating Design Language".
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=RYDiDpW2VkM", "Create a Design System with Figma - Full Course" %}
-{% endresources %}
+Create a Design System with Figma - Full Course
diff --git a/src/roadmaps/design-system/content/102-making-a-design-system/101-from-existing-design.md b/src/roadmaps/design-system/content/102-making-a-design-system/101-from-existing-design.md
index 9ae540316..baa600e2a 100644
--- a/src/roadmaps/design-system/content/102-making-a-design-system/101-from-existing-design.md
+++ b/src/roadmaps/design-system/content/102-making-a-design-system/101-from-existing-design.md
@@ -2,6 +2,4 @@
If you are creating a Design System from pre-existing product design, there is an additional step to perform the existing design analysis, understand the existing design process, perform a visual audit, identify design elements and components and so on.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=RYDiDpW2VkM", "Create a Design System with Figma - Full Course" %}
-{% endresources %}
+Create a Design System with Figma - Full Course
diff --git a/src/roadmaps/design-system/content/102-making-a-design-system/index.md b/src/roadmaps/design-system/content/102-making-a-design-system/index.md
deleted file mode 100644
index 1e25401d0..000000000
--- a/src/roadmaps/design-system/content/102-making-a-design-system/index.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# Making a Design System
-
-First step in building a design system is identifying [if you even need a design system](https://sparkbox.com/foundry/when_not_to_use_a_design_system).
-
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=FZSi1bK-BRM", "Introducing Design Systems Into Chaos - Diana Mounter, GitHub" %}
- {% Blog "https://www.youtube.com/watch?v=Hx02SaL_IH0", "Design Systems, when and how much?" %}
- {% Blog "https://www.uxpin.com/create-design-system-guide/", "Design Systems: Step-by-Step Guide to Creating Your Own" %}
- {% Blog "https://www.method.com/insights/does-my-organization-need-a-design-system/", "Does My Organization Need a Design System?" %}
- {% Blog "https://www.youtube.com/watch?v=RYDiDpW2VkM", "Create a Design System with Figma - Full Course" %}
-{% endresources %}
diff --git a/src/roadmaps/design-system/content/102-making-a-design-system/readme.md b/src/roadmaps/design-system/content/102-making-a-design-system/readme.md
new file mode 100644
index 000000000..246a70fa1
--- /dev/null
+++ b/src/roadmaps/design-system/content/102-making-a-design-system/readme.md
@@ -0,0 +1,9 @@
+# Making a Design System
+
+First step in building a design system is identifying [if you even need a design system](https://sparkbox.com/foundry/when_not_to_use_a_design_system).
+
+Introducing Design Systems Into Chaos - Diana Mounter, GitHub
+Design Systems, when and how much?
+Design Systems: Step-by-Step Guide to Creating Your Own
+Does My Organization Need a Design System?
+Create a Design System with Figma - Full Course
diff --git a/src/roadmaps/design-system/content/103-existing-design-analysis/index.md b/src/roadmaps/design-system/content/103-existing-design-analysis/readme.md
similarity index 100%
rename from src/roadmaps/design-system/content/103-existing-design-analysis/index.md
rename to src/roadmaps/design-system/content/103-existing-design-analysis/readme.md
diff --git a/src/roadmaps/design-system/content/104-design-language/100-brand/index.md b/src/roadmaps/design-system/content/104-design-language/100-brand/readme.md
similarity index 100%
rename from src/roadmaps/design-system/content/104-design-language/100-brand/index.md
rename to src/roadmaps/design-system/content/104-design-language/100-brand/readme.md
diff --git a/src/roadmaps/design-system/content/104-design-language/101-guidelines/100-accessibility.md b/src/roadmaps/design-system/content/104-design-language/101-guidelines/100-accessibility.md
index 52351fdee..9375cc9bb 100644
--- a/src/roadmaps/design-system/content/104-design-language/101-guidelines/100-accessibility.md
+++ b/src/roadmaps/design-system/content/104-design-language/101-guidelines/100-accessibility.md
@@ -2,10 +2,9 @@
Guidelines for how you approach accessibility and how you leverage colour, hierarchy and assistive technologies to help your users.
-{% resources %}
- {% Blog "https://www.w3.org/WAI/fundamentals/accessibility-intro/", "Introduction to Web Accessibility" %}
- {% Blog "https://developer.mozilla.org/en-US/docs/Learn/Accessibility/What_is_accessibility", "What is Accessibility? by Mozilla" %}
- {% Blog "https://www.w3.org/WAI/fundamentals/accessibility-principles/", "Accessibility Principles" %}
- {% Blog "https://webaim.org/", "WebAIMs Website (Web Accessibility In Mind)" %}
- {% Blog "https://wave.webaim.org/", "WAVE Web Accessibility Evaluation Tool" %}
-{% endresources %}
+Free Content
+Introduction to Web Accessibility
+What is Accessibility? by Mozilla
+Accessibility Principles
+WebAIM's Website (Web Accessibility In Mind)
+WAVE Web Accessibility Evaluation Tool
diff --git a/src/roadmaps/design-system/content/104-design-language/101-guidelines/index.md b/src/roadmaps/design-system/content/104-design-language/101-guidelines/readme.md
similarity index 100%
rename from src/roadmaps/design-system/content/104-design-language/101-guidelines/index.md
rename to src/roadmaps/design-system/content/104-design-language/101-guidelines/readme.md
diff --git a/src/roadmaps/design-system/content/104-design-language/102-logo/index.md b/src/roadmaps/design-system/content/104-design-language/102-logo/readme.md
similarity index 100%
rename from src/roadmaps/design-system/content/104-design-language/102-logo/index.md
rename to src/roadmaps/design-system/content/104-design-language/102-logo/readme.md
diff --git a/src/roadmaps/design-system/content/104-design-language/index.md b/src/roadmaps/design-system/content/104-design-language/index.md
deleted file mode 100644
index 754b6002a..000000000
--- a/src/roadmaps/design-system/content/104-design-language/index.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# Design Language
-
-Like any language, a design language is a methodical way of communicating with your audience through your approach to product design. It’s the cornerstone of consistent customer experiences.
-
-{% resources %}
- {% Blog "https://medium.com/thinking-design/what-is-a-design-language-really-cd1ef87be793", "What is a Design Language.. really?" %}
- {% Blog "https://xd.adobe.com/ideas/principles/web-design/how-to-develop-design-language/", "How to Develop a Design Language" %}
- {% Blog "https://www.uxpin.com/studio/blog/design-language/", "What Actually Constitutes Design Language?" %}
- {% Blog "https://www.smashingmagazine.com/2020/03/visual-design-language-building-blocks/", "Visual Design Language: The Building Blocks Of Design" %}
-{% endresources %}
diff --git a/src/roadmaps/design-system/content/104-design-language/readme.md b/src/roadmaps/design-system/content/104-design-language/readme.md
new file mode 100644
index 000000000..71ac63a88
--- /dev/null
+++ b/src/roadmaps/design-system/content/104-design-language/readme.md
@@ -0,0 +1,8 @@
+# Design Language
+
+Like any language, a design language is a methodical way of communicating with your audience through your approach to product design. It’s the cornerstone of consistent customer experiences.
+
+What is a Design Language.. really?
+How to Develop a Design Language
+What Actually Constitutes Design Language?
+Visual Design Language: The Building Blocks Of Design
diff --git a/src/roadmaps/design-system/content/105-design-tokens/100-layout/index.md b/src/roadmaps/design-system/content/105-design-tokens/100-layout/readme.md
similarity index 100%
rename from src/roadmaps/design-system/content/105-design-tokens/100-layout/index.md
rename to src/roadmaps/design-system/content/105-design-tokens/100-layout/readme.md
diff --git a/src/roadmaps/design-system/content/105-design-tokens/101-color/index.md b/src/roadmaps/design-system/content/105-design-tokens/101-color/readme.md
similarity index 100%
rename from src/roadmaps/design-system/content/105-design-tokens/101-color/index.md
rename to src/roadmaps/design-system/content/105-design-tokens/101-color/readme.md
diff --git a/src/roadmaps/design-system/content/105-design-tokens/102-iconography/index.md b/src/roadmaps/design-system/content/105-design-tokens/102-iconography/readme.md
similarity index 100%
rename from src/roadmaps/design-system/content/105-design-tokens/102-iconography/index.md
rename to src/roadmaps/design-system/content/105-design-tokens/102-iconography/readme.md
diff --git a/src/roadmaps/design-system/content/105-design-tokens/103-typography/index.md b/src/roadmaps/design-system/content/105-design-tokens/103-typography/readme.md
similarity index 100%
rename from src/roadmaps/design-system/content/105-design-tokens/103-typography/index.md
rename to src/roadmaps/design-system/content/105-design-tokens/103-typography/readme.md
diff --git a/src/roadmaps/design-system/content/105-design-tokens/index.md b/src/roadmaps/design-system/content/105-design-tokens/readme.md
similarity index 55%
rename from src/roadmaps/design-system/content/105-design-tokens/index.md
rename to src/roadmaps/design-system/content/105-design-tokens/readme.md
index 64cfbd9bd..e95e1766b 100644
--- a/src/roadmaps/design-system/content/105-design-tokens/index.md
+++ b/src/roadmaps/design-system/content/105-design-tokens/readme.md
@@ -2,6 +2,4 @@
Variables that store values for the base layer of your design system, like colour and typography. They’re used in components, so changes on this level will resonate throughout the whole system.
-{% resources %}
- {% Blog "https://xd.adobe.com/ideas/principles/design-systems/what-are-design-tokens/", "What Are Design Tokens?" %}
-{% endresources %}
+What Are Design Tokens?
diff --git a/src/roadmaps/design-system/content/106-core-components/index.md b/src/roadmaps/design-system/content/106-core-components/readme.md
similarity index 100%
rename from src/roadmaps/design-system/content/106-core-components/index.md
rename to src/roadmaps/design-system/content/106-core-components/readme.md
diff --git a/src/roadmaps/design-system/content/107-tooling/100-development/index.md b/src/roadmaps/design-system/content/107-tooling/100-development/readme.md
similarity index 100%
rename from src/roadmaps/design-system/content/107-tooling/100-development/index.md
rename to src/roadmaps/design-system/content/107-tooling/100-development/readme.md
diff --git a/src/roadmaps/design-system/content/107-tooling/101-design/index.md b/src/roadmaps/design-system/content/107-tooling/101-design/readme.md
similarity index 100%
rename from src/roadmaps/design-system/content/107-tooling/101-design/index.md
rename to src/roadmaps/design-system/content/107-tooling/101-design/readme.md
diff --git a/src/roadmaps/design-system/content/107-tooling/index.md b/src/roadmaps/design-system/content/107-tooling/readme.md
similarity index 100%
rename from src/roadmaps/design-system/content/107-tooling/index.md
rename to src/roadmaps/design-system/content/107-tooling/readme.md
diff --git a/src/roadmaps/design-system/content/108-project-management/100-task-management/index.md b/src/roadmaps/design-system/content/108-project-management/100-task-management/readme.md
similarity index 100%
rename from src/roadmaps/design-system/content/108-project-management/100-task-management/index.md
rename to src/roadmaps/design-system/content/108-project-management/100-task-management/readme.md
diff --git a/src/roadmaps/design-system/content/108-project-management/101-communications/index.md b/src/roadmaps/design-system/content/108-project-management/101-communications/readme.md
similarity index 100%
rename from src/roadmaps/design-system/content/108-project-management/101-communications/index.md
rename to src/roadmaps/design-system/content/108-project-management/101-communications/readme.md
diff --git a/src/roadmaps/design-system/content/108-project-management/102-analytics/index.md b/src/roadmaps/design-system/content/108-project-management/102-analytics/readme.md
similarity index 100%
rename from src/roadmaps/design-system/content/108-project-management/102-analytics/index.md
rename to src/roadmaps/design-system/content/108-project-management/102-analytics/readme.md
diff --git a/src/roadmaps/design-system/content/108-project-management/index.md b/src/roadmaps/design-system/content/108-project-management/readme.md
similarity index 100%
rename from src/roadmaps/design-system/content/108-project-management/index.md
rename to src/roadmaps/design-system/content/108-project-management/readme.md
diff --git a/src/roadmaps/design-system/content/readme.md b/src/roadmaps/design-system/content/readme.md
new file mode 100644
index 000000000..4e768b56d
--- /dev/null
+++ b/src/roadmaps/design-system/content/readme.md
@@ -0,0 +1 @@
+#
\ No newline at end of file
diff --git a/src/roadmaps/design-system/design-system.md b/src/roadmaps/design-system/design-system.md
index a7871008d..1cb828bb0 100644
--- a/src/roadmaps/design-system/design-system.md
+++ b/src/roadmaps/design-system/design-system.md
@@ -1,5 +1,4 @@
---
-jsonUrl: "/jsons/design-system.json"
pdfUrl: "/pdfs/design-system.pdf"
order: 10
featuredTitle: "Design System"
diff --git a/src/roadmaps/devops/content/100-language/100-python.md b/src/roadmaps/devops/content/100-language/100-python.md
index 266081d35..7380e43f0 100644
--- a/src/roadmaps/devops/content/100-language/100-python.md
+++ b/src/roadmaps/devops/content/100-language/100-python.md
@@ -1,14 +1,17 @@
-{% Roadmap "/python", "Python" %}
+
# Python
Python is a multi-paradigm language. Being an interpreted language, code is executed as soon as it is written and the Python syntax allows for writing code in functional, procedural or object-oriented programmatic ways. Python is frequently recommended as the first language new coders should learn, because of its focus on readability, consistency, and ease of use. This comes with some downsides, as the language is not especially performant in most production tasks.
-{% resources %}
- {% Official "https://www.python.org/", "Python Website" %}
- {% Blog "https://www.python.org/about/gettingstarted/", "Python Getting Started" %}
- {% Blog "https://automatetheboringstuff.com/", "Automate the Boring Stuff" %}
- {% Course "https://www.w3schools.com/python/", "W3Schools - Python Tutorial " %}
- {% Course "https://ehmatthes.github.io/pcc/", "Python Crash Course" %}
- {% Course "https://www.codecademy.com/learn/learn-python-3", "Codecademy - Learn Python 3" %}
-{% endresources %}
+Free Content
+Python Website
+Python Getting Started
+Automate the Boring Stuff
+W3Schools - Python Tutorial
+Python Crash Course
+Codecademy - Learn Python 3
diff --git a/src/roadmaps/devops/content/100-language/101-ruby.md b/src/roadmaps/devops/content/100-language/101-ruby.md
index 1c5940a9d..8c8caf6fe 100644
--- a/src/roadmaps/devops/content/100-language/101-ruby.md
+++ b/src/roadmaps/devops/content/100-language/101-ruby.md
@@ -2,8 +2,7 @@
Ruby is a high-level, interpreted programming language that blends Perl, Smalltalk, Eiffel, Ada, and Lisp. Ruby focuses on simplicity and productivity along with a syntax that reads and writes naturally. Ruby supports procedural, object-oriented and functional programming and is dynamically typed.
-{% resources %}
- {% Official "https://www.ruby-lang.org/en/", "Ruby Website" %}
- {% Course "https://www.ruby-lang.org/en/documentation/quickstart/", "Learn Ruby in 20 minutes" %}
- {% Course "https://www.codecademy.com/learn/learn-ruby", "Learn Ruby | Codecademy" %}
-{% endresources %}
+Free Content
+Ruby Website
+Learn Ruby in 20 minutes
+Learn Ruby | Codecademy
diff --git a/src/roadmaps/devops/content/100-language/102-javascript.md b/src/roadmaps/devops/content/100-language/102-javascript.md
index 7d109358c..324d6511e 100644
--- a/src/roadmaps/devops/content/100-language/102-javascript.md
+++ b/src/roadmaps/devops/content/100-language/102-javascript.md
@@ -1,17 +1,35 @@
-{% Roadmap "/javascript", "JavaScript" %}
+
# JavaScript
JavaScript allows you to add interactivity to your pages. Common examples that you may have seen on the websites are sliders, click interactions, popups and so on. Apart from being used on the frontend in browsers, there is Node.js which is an open-source, cross-platform, back-end JavaScript runtime environment that runs on the V8 engine and executes JavaScript code outside a web browser.
-{% resources %}
- {% Blog "https://www.w3schools.com/js/", "W3Schools – JavaScript Tutorial" %}
- {% Blog "https://javascript.info/", "The Modern JavaScript Tutorial" %}
- {% Course "https://www.codecademy.com/learn/introduction-to-javascript", "Codecademy - Learn JavaScript" %}
- {% Blog "https://youtu.be/hdI2bqOjy3c", "JavaScript Crash Course for Beginners" %}
- {% Blog "https://www.youtube.com/watch?v=fBNz5xF-Kx4", "Node.js Crash Course" %}
- {% Blog "https://www.youtube.com/watch?v=TlB_eWDSMt4", "Node.js Tutorial for Beginners" %}
- {% Blog "https://www.w3schools.com/nodejs/", "W3Schools – Node.js Tutorial" %}
- {% Blog "https://www.w3schools.com/nodejs/nodejs_npm.asp", "What is NPM?" %}
- {% Blog "https://nodejs.dev/en/learn/", "Official Documentation" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+
+W3Schools – JavaScript Tutorial
+The Modern JavaScript Tutorial
+Codecademy - Learn JavaScript
+JavaScript Crash Course for Beginners
+
+Node.js Crash Course
+Node.js Tutorial for Beginners
+
+
+
+# Node.js
+
+Node.js is an open-source, cross-platform, back-end JavaScript runtime environment that runs on a JavaScript Engine and executes JavaScript code outside a web browser, which was designed to build scalable network applications. It allows you to run JavaScript on the server.
+
+Free Content
+
+W3Schools – Node.js Tutorial
+What is NPM?
+Official Documentation
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/100-language/103-go.md b/src/roadmaps/devops/content/100-language/103-go.md
index cfd7eddb2..f19d3bf08 100644
--- a/src/roadmaps/devops/content/100-language/103-go.md
+++ b/src/roadmaps/devops/content/100-language/103-go.md
@@ -1,14 +1,17 @@
-{% Roadmap "/golang", "Go" %}
+
# Go
Go is an open source programming language supported by Google. Go can be used to write cloud services, CLI tools, used for API development, and much more.
-{% resources %}
- {% Blog "https://go.dev/tour/welcome/1", "A Tour of Go – Go Basics" %}
- {% Blog "https://go.dev/doc/", "Go Reference Documentation" %}
- {% Blog "https://gobyexample.com/", "Go by Example - annotated example programs" %}
- {% Course "https://www.codecademy.com/learn/learn-go", "Learn Go | Codecademy" %}
- {% Course "https://www.w3schools.com/go/", "W3Schools Go Tutorial " %}
- {% Blog "https://thenewstack.io/make-a-restful-json-api-go/", "Making a RESTful JSON API in Go" %}
-{% endresources %}
+Free Content
+A Tour of Go – Go Basics
+Go Reference Documentation
+Go by Example - annotated example programs
+Learn Go | Codecademy
+W3Schools Go Tutorial
+Making a RESTful JSON API in Go
diff --git a/src/roadmaps/devops/content/100-language/104-rust.md b/src/roadmaps/devops/content/100-language/104-rust.md
index be5d25fa7..7a5822c98 100644
--- a/src/roadmaps/devops/content/100-language/104-rust.md
+++ b/src/roadmaps/devops/content/100-language/104-rust.md
@@ -2,7 +2,6 @@
Rust is a modern systems programming language focusing on safety, speed, and concurrency. It accomplishes these goals by being memory safe without using garbage collection.
-{% resources %}
- {% Blog "https://doc.rust-lang.org/book/", "The Rust Programming Language - online book" %}
- {% Blog "https://doc.rust-lang.org/stable/rust-by-example/index.html", "Rust by Example - collection of runnable examples" %}
-{% endresources %}
+Free Content
+The Rust Programming Language - online book
+Rust by Example - collection of runnable examples
diff --git a/src/roadmaps/devops/content/100-language/105-c.md b/src/roadmaps/devops/content/100-language/105-c.md
deleted file mode 100644
index aea8c8354..000000000
--- a/src/roadmaps/devops/content/100-language/105-c.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# C
-
-C is a powerful general-purpose programming language. It can be used to develop software like operating systems, databases, compilers, and so on.
-
-{% resources %}
- {% Blog "https://www.programiz.com/c-programming", "Learn C Language" %}
- {% Blog "https://docs.microsoft.com/en-us/cpp/c-language/c-language-reference?view=msvc-170", "C Reference" %}
-{% endresources %}
diff --git a/src/roadmaps/devops/content/100-language/106-cpp.md b/src/roadmaps/devops/content/100-language/106-cpp.md
deleted file mode 100644
index cc04816f8..000000000
--- a/src/roadmaps/devops/content/100-language/106-cpp.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# C++
-
-C++ is a powerful general-purpose programming language. It can be used to develop operating systems, browsers, games, and so on. C++ supports different ways of programming like procedural, object-oriented, functional, and so on. This makes C++ powerful as well as flexible.
-
-{% resources %}
- {% Blog "https://learncpp.com/", "Learn Cpp" %}
- {% Blog "https://en.cppreference.com/", "C++ Reference" %}
-{% endresources %}
diff --git a/src/roadmaps/devops/content/100-language/index.md b/src/roadmaps/devops/content/100-language/readme.md
similarity index 100%
rename from src/roadmaps/devops/content/100-language/index.md
rename to src/roadmaps/devops/content/100-language/readme.md
diff --git a/src/roadmaps/devops/content/101-os-concepts/100-networking.md b/src/roadmaps/devops/content/101-os-concepts/100-networking.md
index 17bb9fbf6..2c121eedb 100644
--- a/src/roadmaps/devops/content/101-os-concepts/100-networking.md
+++ b/src/roadmaps/devops/content/101-os-concepts/100-networking.md
@@ -4,8 +4,7 @@ Computer networking refers to interconnected computing devices that can exchange
Begin by studying the [OSI Model](https://en.wikipedia.org/wiki/OSI_model). This model will assist in constructing an understanding of the linked topics, and help you contextualize the items linked to the Networking, Security, and Protocols node. Higher level networking concepts may be implemented and named differently across cloud providers. Don't let this confuse you - the basics of TCP/IP are useful and used in the same ways across all implementations.
-{% resources %}
- {% Blog "https://aws.amazon.com/what-is/computer-networking/", "What is Computer Networking?" %}
- {% Blog "https://youtu.be/IPvYjXCsTg8", "Full Networking Course" %}
- {% Blog "https://www.youtube.com/watch?v=dV8mjZd1OtU", "OSI Model Explained" %}
-{% endresources %}
+Free Content
+What is Computer Networking?
+Full Networking Course
+OSI Model Explained
diff --git a/src/roadmaps/devops/content/101-os-concepts/101-io-management.md b/src/roadmaps/devops/content/101-os-concepts/101-io-management.md
index 4a732b63f..56e71bd62 100644
--- a/src/roadmaps/devops/content/101-os-concepts/101-io-management.md
+++ b/src/roadmaps/devops/content/101-os-concepts/101-io-management.md
@@ -2,8 +2,7 @@
One of the important jobs of an Operating System is to manage various I/O devices including mouse, keyboards, touchpad, disk drives, display adapters, USB devices, Bit-mapped screens, LED, Analog-to-digital converter, On/off switch, network connections, audio I/O, printers, etc.
-{% resources %}
- {% Blog "https://www.tutorialspoint.com/operating_system/os_io_hardware.htm", "Operating System - I/O Hardware" %}
- {% Blog "https://www.omscs-notes.com/operating-systems/io-management/", "IO Management" %}
- {% Blog "https://www.youtube.com/watch?v=F18RiREDkwE", "Basics of OS (I/O Structure)" %}
-{% endresources %}
+Free Content
+Operating System - I/O Hardware
+IO Management
+Basics of OS (I/O Structure)
diff --git a/src/roadmaps/devops/content/101-os-concepts/102-virtualization.md b/src/roadmaps/devops/content/101-os-concepts/102-virtualization.md
index eaad78f49..ffca9da41 100644
--- a/src/roadmaps/devops/content/101-os-concepts/102-virtualization.md
+++ b/src/roadmaps/devops/content/101-os-concepts/102-virtualization.md
@@ -3,8 +3,7 @@
Virtualization is the creation of a virtual -- rather than actual -- version of something, such as an operating system (OS), a server, a storage device or network resources. It uses software that simulates hardware functionality to create a virtual system. This practice allows IT organizations to operate multiple operating systems, more than one virtual system and various applications on a single server.
-{% resources %}
- {% Blog "https://www.techtarget.com/searchitoperations/definition/virtualization", "What is Virtualization? and its types?" %}
- {% Blog "https://opensource.com/resources/virtualization", "What is Hypervisor and VM?" %}
- {% Blog "https://www.atlassian.com/microservices/cloud-computing/containers-vs-vms", "Containers vs VM" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+What is Virtualization? and its types?
+What is Hypervisor and VM?
+Containers vs VM
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/101-os-concepts/103-memory-storage.md b/src/roadmaps/devops/content/101-os-concepts/103-memory-storage.md
index d090df311..71c41af1a 100644
--- a/src/roadmaps/devops/content/101-os-concepts/103-memory-storage.md
+++ b/src/roadmaps/devops/content/101-os-concepts/103-memory-storage.md
@@ -4,7 +4,5 @@ The term Memory can be defined as a collection of data in a specific format. It
To achieve a degree of multiprogramming and proper utilization of memory, memory management is important. There are several memory management methods, reflecting various approaches, and the effectiveness of each algorithm depends on the situation.
-{% resources %}
- {% Blog "https://dev.to/deepu105/demystifying-memory-management-in-modern-programming-languages-ddd", "Demystifying memory management in modern programming languages" %}
- {% Blog "https://www.geeksforgeeks.org/memory-management-in-operating-system/", "Memory Management in Operating System" %}
-{% endresources %}
+Demystifying memory management in modern programming languages
+Memory Management in Operating System
diff --git a/src/roadmaps/devops/content/101-os-concepts/104-file-system.md b/src/roadmaps/devops/content/101-os-concepts/104-file-system.md
index 64f4f41b5..c5e80a43a 100644
--- a/src/roadmaps/devops/content/101-os-concepts/104-file-system.md
+++ b/src/roadmaps/devops/content/101-os-concepts/104-file-system.md
@@ -2,6 +2,5 @@
A file is a named collection of related information recorded on secondary storage such as magnetic disks, magnetic tapes, and optical disks. Generally, a file is a sequence of bits, bytes, lines, or records whose meaning is defined by the file's creator and user.
-{% resources %}
- {% Blog "https://www.tutorialspoint.com/operating_system/os_file_system.htm", "Operating System - File System" %}
-{% endresources %}
+Free Content
+Operating System - File System
diff --git a/src/roadmaps/devops/content/101-os-concepts/105-sockets.md b/src/roadmaps/devops/content/101-os-concepts/105-sockets.md
index 1338e33dd..c3dcfe8e4 100644
--- a/src/roadmaps/devops/content/101-os-concepts/105-sockets.md
+++ b/src/roadmaps/devops/content/101-os-concepts/105-sockets.md
@@ -4,9 +4,8 @@ Socket is an endpoint of a two way **communication** link between **two differen
e.g. `http://192.168.0.1:8080`
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/socket-in-computer-network/", "What are Sockets?" %}
- {% Blog "https://www.tutorialspoint.com/unix_sockets/what_is_socket.htm", "Types of Sockets" %}
- {% Blog "https://www.baeldung.com/cs/port-vs-socket", "Port vs Socket" %}
- {% Blog "https://socket.io/", "Socket.io Library Bidirectional and low-latency communication for every platform" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+What are Sockets?
+Types of Sockets
+Port vs Socket
+Socket.io Library Bidirectional and low-latency communication for every platform
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/101-os-concepts/106-posix.md b/src/roadmaps/devops/content/101-os-concepts/106-posix.md
index a173a8af5..9774536e5 100644
--- a/src/roadmaps/devops/content/101-os-concepts/106-posix.md
+++ b/src/roadmaps/devops/content/101-os-concepts/106-posix.md
@@ -8,8 +8,7 @@ So, in this case, when we want to interact with any of these streams (through a
POSIX also adds a standard for exit codes, filesystem semantics, and several other command line utility API conventions.
-{% resources %}
- {% Official "https://pubs.opengroup.org/onlinepubs/9699919799/", "POSIX standard by IEEE" %}
- {% Blog "https://unix.stackexchange.com/a/220877", "Summary of some POSIX implementations" %}
- {% Blog "https://www.baeldung.com/linux/posix", "A guide to POSIX" %}
-{% endresources %}
+Free Content
+POSIX standard by IEEE
+Summary of some POSIX implementations
+A guide to POSIX
diff --git a/src/roadmaps/devops/content/101-os-concepts/107-processes.md b/src/roadmaps/devops/content/101-os-concepts/107-processes.md
index c628301db..abfac46a8 100644
--- a/src/roadmaps/devops/content/101-os-concepts/107-processes.md
+++ b/src/roadmaps/devops/content/101-os-concepts/107-processes.md
@@ -6,9 +6,8 @@ A process means program in execution. It generally takes an input, processes it
* Foreground processes
* Background processes
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/introduction-of-process-management/", "Intro to Process Management" %}
- {% Blog "https://www.geeksforgeeks.org/process-management-in-linux/", "Process Management in Linux" %}
- {% Blog "https://www.geeksforgeeks.org/processes-in-linuxunix/", "Process related commands in Linux" %}
- {% Blog "https://www.geeksforgeeks.org/difference-between-process-and-thread/", "Process vs Thread" %}
-{% endresources %}
+Free Content
+Intro to Process Management
+Process Management in Linux
+Process related commands in Linux
+Process vs Thread
diff --git a/src/roadmaps/devops/content/101-os-concepts/108-startup-management.md b/src/roadmaps/devops/content/101-os-concepts/108-startup-management.md
index 633d58cc3..134248716 100644
--- a/src/roadmaps/devops/content/101-os-concepts/108-startup-management.md
+++ b/src/roadmaps/devops/content/101-os-concepts/108-startup-management.md
@@ -4,8 +4,7 @@
It has following syntax: `$ service [service_name] [action]` e.g. `$ service ssh start`
-{% resources %}
- {% Blog "https://www.freecodecamp.org/news/the-linux-booting-process-6-steps-described-in-detail/", "Linux Booting Process" %}
- {% Blog "https://www.geeksforgeeks.org/what-is-init-d-in-linux-service-management/", "What is init.d?" %}
- {% Blog "https://itsfoss.com/linux-daemons/", "What are Daemons in Linux?" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+Linux Booting Process
+What is init.d?
+What are Daemons in Linux?
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/101-os-concepts/109-service-management.md b/src/roadmaps/devops/content/101-os-concepts/109-service-management.md
index df8256666..a1808b345 100644
--- a/src/roadmaps/devops/content/101-os-concepts/109-service-management.md
+++ b/src/roadmaps/devops/content/101-os-concepts/109-service-management.md
@@ -4,8 +4,7 @@
e.g. `$ systemctl start [service-name]`, `$ systemctl poweroff`
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/linux-systemd-and-its-components/", "What is systemd? and its commands" %}
- {% Blog "https://uace.github.io/learning/init-vs-systemd-what-is-an-init-daemon", "init.d vs systemd" %}
- {% Blog "https://www.tecmint.com/systemd-replaces-init-in-linux/", "Why Systemd as a replacement of init.d?" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+What is systemd? and its commands
+init.d vs systemd
+Why Systemd as a replacement of init.d?
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/101-os-concepts/110-threads-concurrency.md b/src/roadmaps/devops/content/101-os-concepts/110-threads-concurrency.md
index 0fdd7a748..b69280781 100644
--- a/src/roadmaps/devops/content/101-os-concepts/110-threads-concurrency.md
+++ b/src/roadmaps/devops/content/101-os-concepts/110-threads-concurrency.md
@@ -8,11 +8,23 @@ Each thread has its own program counter, stack, and set of registers. But the th
* `fork`
* `join`
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/introduction-of-process-synchronization/", "Process Synchronization" %}
- {% Blog "https://www.geeksforgeeks.org/thread-in-operating-system/", "What is Thread in OS?" %}
- {% Blog "https://www.scaler.com/topics/operating-system/threads-in-operating-system/", "Process vs Thread & Multi-Threading" %}
- {% Blog "https://www.geeksforgeeks.org/concurrency-in-operating-system/", "What Concurrency in OS?" %}
- {% Blog "https://medium.com/@azizomarck/how-is-concurrency-different-from-parallelism-334b6d5c869a", "Threads vs Concurrency" %}
- {% Blog "https://medium.com/@akhandmishra/operating-system-threads-and-concurrency-aec2036b90f8", "How Concurrency is achieved in Threads" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+Process Synchronization
+What is Thread in OS?
+Process vs Thread & Multi-Threading
+
+# Concurrency in OS
+
+`Concurrency` is the execution of the multiple instruction sequences at the same time. It happens in the operating system when there are several process threads running in parallel. It helps in techniques like **coordinating execution of processes**, memory allocation and execution scheduling for maximizing throughput.
+
+The running process threads always communicate with each other through shared memory or message passing. Concurrency results in sharing of resources result in problems like deadlocks and resources starvation.
+
+**Key Terminologies:**
+* mutex
+* critical section
+* Deadlock
+
+Free Content
+What Concurrency in OS?
+Threads vs Concurrency
+How Concurrency is achieved in Threads
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/101-os-concepts/index.md b/src/roadmaps/devops/content/101-os-concepts/index.md
deleted file mode 100644
index 5891aba4d..000000000
--- a/src/roadmaps/devops/content/101-os-concepts/index.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Operating System
-
-An Operating System is a program that manages a computer’s resources, especially the allocation of those resources among other programs. Typical resources include the central processing unit (CPU), computer memory, file storage, input/output (I/O) devices, and network connections.
-
-{% resources %}
- {% Blog "https://edu.gcfglobal.org/en/computerbasics/understanding-operating-systems/1/", "What is an operating system?" %}
- {% Blog "https://www.youtube.com/watch?v=26QPDBe-NB8&ab_channel=CrashCourse", "Operating Systems: Crash Course Computer Science #18" %}
- {% Blog "https://www.youtube.com/watch?v=vBURTt97EkA&list=PL9hkZBQk8d1zEGbY7ShWCZ2n1gtxqkRrS&index=1", "Introduction to Operating System" %}
-{% endresources %}
diff --git a/src/roadmaps/devops/content/101-os-concepts/readme.md b/src/roadmaps/devops/content/101-os-concepts/readme.md
new file mode 100644
index 000000000..8ca3121f7
--- /dev/null
+++ b/src/roadmaps/devops/content/101-os-concepts/readme.md
@@ -0,0 +1,8 @@
+# Operating System
+
+An Operating System is a program that manages a computer’s resources, especially the allocation of those resources among other programs. Typical resources include the central processing unit (CPU), computer memory, file storage, input/output (I/O) devices, and network connections.
+
+Free Content
+What is an operating system?
+Operating Systems: Crash Course Computer Science #18
+Introduction to Operating System
diff --git a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/100-windows.md b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/100-windows.md
index a19582076..6e91cc53f 100644
--- a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/100-windows.md
+++ b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/100-windows.md
@@ -2,7 +2,5 @@
Windows is a graphical user interface (GUI) based operating system developed by Microsoft. It is a hybrid kernel-based proprietary operating system. According to a survey, till April 2022, windows is the most popular operating system in the world with a 75% market share.
-{% resources %}
- {% Official "http://microsoft.com/windows", "Windows Official Site" %}
- {% Official "https://learn.microsoft.com/en-us/windows/", "Windows Documentation for Developers" %}
-{% endresources %}
+Windows Official Site
+Windows Documentation for Developers
diff --git a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/101-centos.md b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/101-centos.md
deleted file mode 100644
index 10cd2cce9..000000000
--- a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/101-centos.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# CentOS
-
-CentOS (short for Community Enterprise Operating System) is a community driven, free and open-source distribution that is functionally compatible with Red Hat Enterprise Linux (RHEL). The CentOS distribution was discontinued in December 2021, however it has now been succeeded by [Rocky Linux](https://rockylinux.org/) and [AlmaLinux](https://almalinux.org/)
-
-{% resources %}
- {% Official "https://www.centos.org/", "CentOS Project Website" %}
- {% Official "https://wiki.centos.org/Documentation", "CentOS Documentation" %}
- {% Blog "https://wiki.centos.org/HowTos", "CentOS How To Guides" %}
-{% endresources %}
diff --git a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/102-ubuntu.md b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/102-ubuntu.md
index 5e2d6e7e0..a61c21c0f 100644
--- a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/102-ubuntu.md
+++ b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/102-ubuntu.md
@@ -1,10 +1,13 @@
-# Ubuntu
+# Ubuntu / Debian
+
+Debian is a free and open-source Linux distribution developed by the Debian Project, an all volunteer software community organization. Debian is the upstream distribution of Ubuntu.
Ubuntu is a free and open-source Linux distribution based on Debian. Ubuntu is available in three versions Desktop, Server and Core.
-{% resources %}
- {% Official "https://ubuntu.com/", "Ubuntu Website" %}
- {% Official "https://help.ubuntu.com/", "Ubuntu Documentation" %}
- {% Blog "https://ubuntu.com/tutorials/install-ubuntu-desktop#1-overview", "Install Ubuntu Desktop Documentation" %}
- {% Blog "https://itsfoss.com/getting-started-with-ubuntu/", "Getting Started with Ubuntu Tutorials" %}
-{% endresources %}
+Debian Website
+Official Debian Documentation
+Debian Installation Guide
+Ubuntu Website
+Ubuntu Documentation
+Install Ubuntu Desktop Documentation
+Getting Started with Ubuntu Tutorials
diff --git a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/103-suse-linux.md b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/103-suse-linux.md
index 60094ecf9..2b016a7fc 100644
--- a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/103-suse-linux.md
+++ b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/103-suse-linux.md
@@ -2,8 +2,6 @@
openSUSE is a free to use Linux distribution aimed to promote the use of Linux everywhere. openSUSE is released in two versions Leap and Tumbleweed
-{% resources %}
- {% Official "https://www.opensuse.org/", "openSUSE Linux Website" %}
- {% Official "https://en.opensuse.org/Main_Page", "openSUSE Documentation" %}
- {% Blog "https://opensuse-guide.org/", "Unofficial openSUSE Getting Started Guide" %}
-{% endresources %}
+openSUSE Linux Website
+openSUSE Documentation
+Unofficial openSUSE Getting Started Guide
diff --git a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/104-rhel.md b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/104-rhel.md
index 8720fae6b..58aafc40e 100644
--- a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/104-rhel.md
+++ b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/104-rhel.md
@@ -1,9 +1,12 @@
-# RHEL
+# RHEL / Derivatives
-Red Hat Enterprise Linux (RHEL) is a commercial open-source Linxus distribution based on Fedora, that is sold as a commercial enterprise operating system.
+Red Hat Enterprise Linux (RHEL) is a popular distribution of the Linux operating system that is designed for enterprise-level use. It is developed and maintained by Red Hat, Inc., and it is available under a subscription-based model.
-{% resources %}
- {% Official "https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux", "Red Hat Enterprise Linux Website" %}
- {% Official "https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/", "RHEL Documentation" %}
- {% Blog "https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux/get-started", "RHEL Getting Started Guides" %}
-{% endresources %}
+There are several distributions of Linux that are based on RHEL, or that have been derived from RHEL in some way. These distributions are known as RHEL derivatives. Some examples of RHEL derivatives include: AlmaLinux, CentOS, CloudLinux, Oracle Linux, and Scientific Linux.
+
+RHEL derivatives are often used in enterprise environments because they offer the stability and reliability of RHEL, but with the added benefit of being free or lower-cost alternatives.
+
+Red Hat Enterprise Linux Website
+RHEL Documentation
+RHEL Getting Started Guides
+What is Red Hat Enterprise Linux (RHEL) - Red Hat
diff --git a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/105-fedora.md b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/105-fedora.md
deleted file mode 100644
index d945a5580..000000000
--- a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/105-fedora.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Fedora
-
-Fedora Linux is a free and open-source Linux distribution developed by the [Fedora Project](https://fedoraproject.org/), an open source focussed community. Fedora Linux releases new versions every six months and is the upstream source for Red Hat Enterprise Linux (RHEL)
-
-{% resources %}
- {% Official "https://fedoraproject.org/", "Fedora Linux Website" %}
- {% Official "https://docs.fedoraproject.org/en-US/docs/", "Official Fedora Documentation" %}
- {% Blog "https://docs.fedoraproject.org/en-US/quick-docs/getting-started-guide/", "Fedora Linux Getting Started Guide" %}
-{% endresources %}
diff --git a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/106-debian.md b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/106-debian.md
deleted file mode 100644
index a09795761..000000000
--- a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/106-debian.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Debian
-
-Debian is a free and open-source Linux distribution developed by the Debian Project, an all volunteer software community organization. Debian is the upstream distribution of Ubuntu.
-
-{% resources %}
- {% Official "https://www.debian.org/", "Debian Website" %}
- {% Official "https://www.debian.org/doc/", "Official Debian Documentation" %}
- {% Blog "https://www.debian.org/releases/stable/installmanual", "Debian Installation Guide" %}
-{% endresources %}
diff --git a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/107-free-bsd.md b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/107-free-bsd.md
index de89aeb84..34bce29bc 100644
--- a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/107-free-bsd.md
+++ b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/107-free-bsd.md
@@ -2,9 +2,7 @@
FreeBSD is a free and open-source Unix-like operating system including many features such as preemptive multitasking, memory protection, virtual memory, and multi-user facilities.
-{% resources %}
- {% Official "https://www.freebsd.org/", "FreeBSD Website" %}
- {% Official "https://docs.freebsd.org/en/", "Official FreeBSD Documentation" %}
- {% Blog "https://docs.freebsd.org/en/books/handbook/", "FreeBSD Handbook" %}
- {% Blog "https://www.freebsd.org/projects/newbies/", "FreeBSD Resources for Newbies " %}
-{% endresources %}
+FreeBSD Website
+Official FreeBSD Documentation
+FreeBSD Handbook
+FreeBSD Resources for Newbies
diff --git a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/108-open-bsd.md b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/108-open-bsd.md
index cff23c6f8..3f7ee11e2 100644
--- a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/108-open-bsd.md
+++ b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/108-open-bsd.md
@@ -2,9 +2,7 @@
OpenBSD is a free and open-source Unix-like operating system, focussed on portability, standardization, correctness, proactive security and integrated cryptography. The popular software application [OpenSSH](https://www.openssh.com/) is developed by from OpenBSD
-{% resources %}
- {% Official "https://www.openbsd.org/", "OpenBSD Website" %}
- {% Official "https://man.openbsd.org/search", "Official OpenBSD Documentation" %}
- {% Blog "https://www.openbsdhandbook.com/", "OpenBSD Handbook" %}
- {% Blog "https://www.openbsd.org/faq/faq4.html", "OpenBSD Installation Guide" %}
-{% endresources %}
+OpenBSD Website
+Official OpenBSD Documentation
+OpenBSD Handbook
+OpenBSD Installation Guide
diff --git a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/109-net-bsd.md b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/109-net-bsd.md
index 1c5bd88eb..5569f4ffb 100644
--- a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/109-net-bsd.md
+++ b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/109-net-bsd.md
@@ -2,8 +2,6 @@
NetBSD is a free, fast, secure, and highly portable Unix-like Open Source operating system. It is available for a wide range of platforms, from large-scale servers and powerful desktop systems to handheld and embedded devices.
-{% resources %}
- {% Official "https://netbsd.org/", "NetBSD Website" %}
- {% Official "https://netbsd.org/docs/", "Official NetBSD Documentation" %}
- {% Blog "https://netbsd.org/docs/guide/en/index.html", "NetBSD Guide" %}
-{% endresources %}
+NetBSD Website
+Official NetBSD Documentation
+NetBSD Guide
diff --git a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/index.md b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/index.md
deleted file mode 100644
index 43b1d8d77..000000000
--- a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/index.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# Operating system
-**An Operating system serves as a bridge between a computer's user and its hardware. An operating system's function is to offer a setting in which a user can conveniently and effectively run programmes.**
-In simple terms we can say that and Operating System (OS) is an interface between a computer user and computer hardware.
-An OS permits software programmes to communicate with a computer's hardware, The **kernel** is the name of Piece of software that houses the fundamental elements of **Operating System.**
-
-{% resources %}
- {% Blog "https://www.javatpoint.com/os-tutorial", "All you need to know about OS." %}
- {% Blog "https://www.tutorialspoint.com/operating_system/os_overview.htm", "Learn Operating Systems" %}
- {% Blog "https://www.geeksforgeeks.org/introduction-of-operating-system-set-1/", "Operating Systems tutorials." %}
- {% Blog "https://www.youtube.com/watch?v=pVzRTmdd9j0", "What are Operating Systems?" %}
- {% Blog "https://www.youtube.com/watch?v=vBURTt97EkA&list=PLBlnK6fEyqRiVhbXDGLXDk_OQAeuVcp2O", "Operating Systems!" %}
-{% endresources %}
diff --git a/src/roadmaps/devops/content/102-managing-servers/100-operating-system/readme.md b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/readme.md
new file mode 100644
index 000000000..21e36fd4a
--- /dev/null
+++ b/src/roadmaps/devops/content/102-managing-servers/100-operating-system/readme.md
@@ -0,0 +1,11 @@
+# Operating system
+**An Operating system serves as a bridge between a computer's user and its hardware. An operating system's function is to offer a setting in which a user can conveniently and effectively run programmes.**
+In simple terms we can say that and Operating System (OS) is an interface between a computer user and computer hardware.
+An OS permits software programmes to communicate with a computer's hardware, The **kernel** is the name of Piece of software that houses the fundamental elements of **Operating System.**
+
+Free Content
+All you need to know about OS.
+Learn Operating Systems
+Operating Systems tutorials.
+What are Operating Systems?
+Operating Systems!
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/100-screen-multiplexer.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/100-screen-multiplexer.md
index df3e71015..903f8139d 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/100-screen-multiplexer.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/100-screen-multiplexer.md
@@ -4,7 +4,5 @@ Screen is a full-screen window manager that multiplexes a physical terminal
See `man screen` or `screen -h` for further information
-{% resources %}
- {% Blog "https://kapeli.com/cheat_sheets/screen.docset/Contents/Resources/Documents/index", "Screen Cheat Sheet" %}
- {% Blog "https://www.gnu.org/software/screen/manual/screen.html", "Screen Users Manual" %}
-{% endresources %}
+Screen Cheat Sheet
+Screen User's Manual
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/100-terminal-multiplexers.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/100-terminal-multiplexers.md
index 5c1898a4d..b36d5dfc0 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/100-terminal-multiplexers.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/100-terminal-multiplexers.md
@@ -2,7 +2,7 @@
Terminal multiplexers are programs that allow us to [multiplex](https://en.wikipedia.org/wiki/Multiplexing) a terminal into several sub-processes or terminals inside a single terminal session, this means that we can have multiple open sessions using a single login session to a local or remote machine.
-{% resources %}
- {% Blog "https://en.wikipedia.org/wiki/Terminal_multiplexer", "Terminal Multiplexer" %}
- {% Blog "https://linuxcommand.org/lc3_adv_termmux.php", "Terminal Multiplexers" %}
-{% endresources %}
+Free Content
+
+Terminal Multiplexer
+Terminal Multiplexers
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/101-tmux-multiplexer.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/101-tmux-multiplexer.md
index 870852d5a..6cdd0c1f6 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/101-tmux-multiplexer.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/101-tmux-multiplexer.md
@@ -6,7 +6,5 @@ When tmux is started it creates a new session with a single window and displays
See `man tmux` further information
-{% resources %}
- {% Official "https://tmuxguide.readthedocs.io/en/latest/tmux/tmux.html", "Tmux Documentation" %}
- {% Blog "https://tmuxcheatsheet.com/", "Tmux Cheat Sheet" %}
-{% endresources %}
+Tmux Documentation
+Tmux Cheat Sheet
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/102-ps.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/102-ps.md
index cf6b05203..fc99f5af2 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/102-ps.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/102-ps.md
@@ -4,9 +4,7 @@ The ps utility displays a header line, followed by lines containing information
See `man ps` further information
-{% resources %}
- {% Official "https://man7.org/linux/man-pages/man1/ps.1.html", "ps Documentation" %}
- {% Blog "https://www.sysadmin.md/ps-cheatsheet.html", "ps Cheat Sheet" %}
- {% Blog "https://www.youtube.com/watch?v=wYwGNgsfN3I", "Linux Crash Course - The ps Command" %}
-{% endresources %}
+ps Documentation
+ps Cheat Sheet
+Linux Crash Course - The ps Command
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/102-top.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/102-top.md
index 1e9816302..325872b05 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/102-top.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/102-top.md
@@ -4,7 +4,5 @@ The top program periodically displays a sorted list of system processes. The de
See `man top` further information.
-{% resources %}
- {% Official "https://man7.org/linux/man-pages/man1/top.1.html", "top Documentation" %}
- {% Blog "https://gist.github.com/ericandrewlewis/4983670c508b2f6b181703df43438c37", "top Cheat Sheet" %}
-{% endresources %}
+top Documentation
+top Cheat Sheet
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/103-htop.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/103-htop.md
index f87ba3a28..21b664f63 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/103-htop.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/103-htop.md
@@ -2,7 +2,5 @@
htop is a cross-platform ncurses-based process. It is similar to top, but allows you to scroll vertically and horizontally, and interact using a pointing device (mouse). You can observe all processes running on the system, along with their command line arguments, as well as view them in a tree format, select multiple processes and act on them all at once.
-{% resources %}
- {% Official "https://www.man7.org/linux/man-pages/man1/htop.1.html", "htop Documentation" %}
- {% Blog "https://www.maketecheasier.com/power-user-guide-htop/", "htop Cheat Sheet" %}
-{% endresources %}
+htop Documentation
+htop Cheat Sheet
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/104-atop.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/104-atop.md
index 194419433..199775c27 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/104-atop.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/104-atop.md
@@ -2,7 +2,5 @@
The program atop is an interactive monitor to view the load on a Linux system. It shows the occupation of the most critical hardware resources (from a performance point of view) on system level, i.e. cpu, memory, disk and network.
-{% resources %}
- {% Official "https://linux.die.net/man/1/atop", "atop Documentation" %}
- {% Blog "https://www.digitalocean.com/community/tutorials/atop-command-in-linux", "atop Command Guide" %}
-{% endresources %}
+atop Documentation
+atop Command Guide
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/104-bash-scripting.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/104-bash-scripting.md
index c1de46418..6c2cd11b5 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/104-bash-scripting.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/104-bash-scripting.md
@@ -8,12 +8,11 @@ You actually use GUI shells all the time. For example, Windows 10 is based on th
With a CLI shell like Bash, you type commands into the program to directly control your computer's OS. Opening up the terminal on your Mac or command line in Linux will look similar to consoles and integrated development environments (IDEs) for other programming languages such as R, Ruby, or Python. You can type commands directly in the command line or run Bash scripts to perform longer and more complex tasks.
-{% resources %}
- {% Blog "https://www.shellscript.sh/", "The Shell Scripting Tutorial" %}
- {% Blog "https://linuxcommand.org/lc3_writing_shell_scripts.php", "Writing Shell Scripts" %}
- {% Blog "https://www.freecodecamp.org/news/shell-scripting-crash-course-how-to-write-bash-scripts-in-linux/", "Shell Scripting for Beginners" %}
- {% Blog "https://www.gnu.org/savannah-checkouts/gnu/bash/manual/bash.html", "A guide to Bash" %}
- {% Blog "https://wiki.bash-hackers.org/", "The Bash Hackers Wiki" %}
- {% Blog "https://rudrakshi.hashnode.dev/bash-shell-scripting-guide", "Bash Shell Scripting Guide" %}
- {% Course "https://www.codecademy.com/learn/bash-scripting", "Codecademy - Learn Bash Scripting" %}
-{% endresources %}
+Free Content
+The Shell Scripting Tutorial
+Writing Shell Scripts
+Shell Scripting for Beginners
+A guide to Bash
+The Bash Hackers Wiki
+Bash Shell Scripting Guide
+Codecademy - Learn Bash Scripting
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/105-editors.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/105-editors.md
index ba0d0e1e1..fe4969567 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/105-editors.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/105-editors.md
@@ -8,14 +8,33 @@ Vim is a highly configurable text editor built to make creating and changing any
Vim ships with `vimtutor` that is a tutor designed to describe enough of the Vim commands that you will be able to easily use Vim as an all-purpose editor.
-{% resources %}
- {% Official "https://www.vim.org", "Vim" %}
- {% Blog "https://vimhelp.org/", "Vim help files" %}
- {% Blog "https://vim.fandom.com/wiki/Vim_Tips_Wiki", "Vim Tips Wiki" %}
- {% Blog "https://vim-adventures.com/", "Vim Adventures" %}
- {% Official "https://www.nano-editor.org/", "GNU Nano" %}
- {% Official "https://www.nano-editor.org/dist/latest/nano.html", "GNU Nano Manual" %}
- {% Official "https://learn.microsoft.com/en-us/powershell/", "PowerShell Documentation" %}
- {% Official "https://www.gnu.org/software/emacs/", "GNU Emacs" %}
- {% Official "https://www.gnu.org/software/emacs/documentation.html", "GNU Emacs Documentation" %}
-{% endresources %}
+Free Content
+Vim
+Vim help files
+Vim Tips Wiki
+Vim Adventures
+
+## Nano
+
+GNU nano is a small and friendly text editor.
+
+Free Content
+GNU Nano
+GNU Nano Manual
+
+## PowerShell
+
+PowerShell is a cross-platform task automation solution made up of a command-line shell, a scripting language, and a configuration management framework. PowerShell runs on Windows, Linux, and macOS.
+
+Free Content
+PowerShell Documentation
+
+## Emacs
+
+An extensible, customizable, free/libre text editor.
+
+At its core is an interpreter for Emacs Lisp, a dialect of the Lisp programming language with extensions to support text editing.
+
+Free Content
+GNU Emacs
+GNU Emacs Documentation
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/105-lsof.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/105-lsof.md
index 7395c9449..fbd10d63d 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/105-lsof.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/105-lsof.md
@@ -4,7 +4,5 @@ Lsof lists on its standard output file information about files opened by process
See `man lsof` or `lsof --help` for further information.
-{% resources %}
- {% Blog "https://neverendingsecurity.wordpress.com/2015/04/13/lsof-commands-cheatsheet/", "lsof Cheat Sheet" %}
- {% Official "https://man7.org/linux/man-pages/man8/lsof.8.html", "lsof Documentation" %}
-{% endresources %}
+lsof Cheat Sheet
+lsof Documentation
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/106-compiling-apps.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/106-compiling-apps.md
index b092c585e..d852dd90a 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/106-compiling-apps.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/106-compiling-apps.md
@@ -6,18 +6,38 @@ The GNU Compiler Collection (GCC) is a compiler system produced by the GNU Proje
"What is GCC used for?" GCC is a toolchain that compiles code, links it with any library dependencies, converts that code to assembly, and then prepares executable files.It is responsible for the conversion of the “high level” source code in the respective language and ensuring that it is semantically valid, performing well formed optimizations, and converting it to assembly code (which is then handed off to the assembler).
-{% resources %}
- {% Blog "https://courses.cs.washington.edu/courses/cse451/99wi/Section/gccintro.html", "Intro to GCC" %}
- {% Blog "https://www.javatpoint.com/gcc-linux", "GCC Linux" %}
- {% Blog "https://www.geeksforgeeks.org/gcc-command-in-linux-with-examples/", "GCC Commands" %}
- {% Blog "https://makefiletutorial.com", "Makefile Tutorial" %}
- {% Blog "https://www.gnu.org/software/make/manual/", "Documentation for make" %}
- {% Blog "https://www.cs.swarthmore.edu/~newhall/unixhelp/howto_makefiles.html", "Using Make and writing Makefiles" %}
- {% Blog "https://www.scala-sbt.org/1.x/docs/", "Sbt Documentation" %}
- {% Blog "https://www.scala-sbt.org/1.x/docs/sbt-by-example.html", "Sbt By Example" %}
- {% Blog "https://www.tutorialspoint.com/gradle/index.htm", "Gradle Tutorial" %}
- {% Blog "https://tomgregory.com/gradle-tutorial-for-complete-beginners/", "Gradle for absolute beginners" %}
- {% Blog "https://gradle.org/guides/", "Gradle Guides" %}
-{% endresources %}
+Free Content
+Intro to GCC
+GCC Linux
+GCC Commands
+
+# make
+
+The GNU Make is a tool which enables and controls the creation of executables and other non-source files of a program from the program's source files.
+Make builds the program from a file called the makefile, which lists each of the non-source files and how to compute it from other files. When you write a program, you should write a makefile for it, so that it is possible to use Make to build and install the program.
+
+"What is make used for?" Make enables the end user to build and install your package without knowing the details of how that is done -- because these details are recorded in the makefile that you supply.
+
+Free Content
+Makefile Tutorial
+Documentation for make
+Using Make and writing Makefiles
+
+# sbt
+
+sbt is an open-source build tool for Scala and Java projects, similar to Apache's Maven and Ant. Its main features are: Native support for compiling Scala code and integrating with many Scala test frameworks. Continuous compilation, testing, and deployment.
+
+Free Content
+Sbt Documentation
+Sbt By Example
+
+# gradle
+
+Gradle is a build automation tool known for its flexibility to build software. A build automation tool is used to automate the creation of applications. The building process includes compiling, linking, and packaging the code.
+
+Free Content
+Gradle Tutorial
+Gradle for absolute beginners
+Gradle Guides
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/106-nmon.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/106-nmon.md
index ebb4a229c..d1095a604 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/106-nmon.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/106-nmon.md
@@ -2,7 +2,6 @@
Nmon is a fully interactive performance monitoring command-line utility tool for Linux. It is a benchmark tool that displays performance about the cpu, memory, network, disks, file system, nfs, top processes, resources, and power micro-partition.
-{% resources %}
- {% Official "https://www.ibm.com/docs/en/aix/7.2?topic=n-nmon-command", "nmon Documentation" %}
- {% Blog "https://www.geeksforgeeks.org/linux-nmon/", "nmon Command Guide" %}
-{% endresources %}
+Free Content
+nmon Documentation
+nmon Command Guide
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/107-iostat.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/107-iostat.md
index 018045038..5ece85f0d 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/107-iostat.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/107-iostat.md
@@ -2,7 +2,6 @@
The iostat command in Linux is used for monitoring system input/output statistics for devices and partitions. It monitors system input/output by observing the time the devices are active in relation to their average transfer rates. The iostat produce reports may be used to change the system configuration to raised balance the input/output between the physical disks.
-{% resources %}
- {% Official "https://man7.org/linux/man-pages/man1/iostat.1.html", "iostat Documentation" %}
- {% Blog "https://www.geeksforgeeks.org/iostat-command-in-linux-with-examples/", "iostat Command Guide" %}
-{% endresources %}
+Free Content
+iostat Documentation
+iostat Command Guide
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/108-sar.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/108-sar.md
index b78ab9ec6..4861addfc 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/108-sar.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/108-sar.md
@@ -2,9 +2,9 @@
Short for **S**ystem **A**ctivity **R**eport, it is a command line tool for Unix and Unix-like operating systems that shows a report of different information about the usage and activity of resources in the operating system.
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/sar-command-linux-monitor-system-performance/", "SAR command in Linux to monitor system performance" %}
- {% Blog "https://man7.org/linux/man-pages/man1/sar.1.html", "SAR Man Page" %}
- {% Blog "https://linux.die.net/man/1/sar", "SAR Man Page 2" %}
- {% Blog "https://linuxhint.com/sar_linux_tutorial/", "Sar tutorial for beginners" %}
-{% endresources %}
+Free Content
+
+SAR command in Linux to monitor system performance
+SAR Man Page
+SAR Man Page 2
+Sar tutorial for beginners
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/109-vmstat.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/109-vmstat.md
index 7161221d9..a0efbf7ca 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/109-vmstat.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/109-vmstat.md
@@ -2,9 +2,9 @@
Short for **V**irtual **m**emory **stat**istic reporter, it is a command line tool for Unix and Unix-like operating systems that reports various information about the operating system such as memory, paging, processes, I/O, CPU and disk usage.
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/vmstat-command-in-linux-with-examples/", "vmstat command in Linux with Examples" %}
- {% Blog "https://www.redhat.com/sysadmin/linux-commands-vmstat", "Linux commands: exploring virtual memory with vmstat" %}
- {% Blog "https://man7.org/linux/man-pages/man8/vmstat.8.html", "VMstat Man Page" %}
- {% Blog "https://phoenixnap.com/kb/vmstat-command", "vmstat tutorial" %}
-{% endresources %}
+Free Content
+
+vmstat command in Linux with Examples
+Linux commands: exploring virtual memory with vmstat
+VMstat Man Page
+vmstat tutorial
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/110-traceroute.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/110-traceroute.md
index 9780ebed7..d35cf2aca 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/110-traceroute.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/110-traceroute.md
@@ -4,7 +4,6 @@
It has the following syntax: `$ traceroute [OPTIONS] DESTINATION` e.g. `$ traceroute roadmap.sh`
-{% resources %}
- {% Blog "https://linuxhint.com/run_traceroute_linux/", "How to Run Traceroute in Linux" %}
- {% Blog "https://www.geeksforgeeks.org/traceroute-command-in-linux-with-examples/", "Traceroute command in Linux with examples" %}
-{% endresources %}
+Free Content
+How to Run Traceroute in Linux
+Traceroute command in Linux with examples
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/111-mtr.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/111-mtr.md
index 8aacd4819..8e97e1f46 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/111-mtr.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/111-mtr.md
@@ -4,8 +4,7 @@
As `mtr` starts, it investigates the network connection between the host `mtr` runs on and `HOSTNAME` by sending packets with purposely low TTLs. It continues sending packets with low TTL, noting the response time of the intervening routers. This allows `mtr` to print the internet route's response percentage and response times to HOSTNAME. A sudden packet loss or response time increase often indicates a bad (or simply overloaded) link.
-{% resources %}
- {% Blog "https://www.javatpoint.com/linux-mtr", "Javatpoint: Linux mtr Command" %}
- {% Blog "https://www.tutorialspoint.com/unix_commands/mtr.htm", "mtr Linux command" %}
- {% Blog "https://www.devopsroles.com/how-to-traceroute-use-mtr-command-in-linux/", "How to traceroute use mtr command in Linux" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+Javatpoint: Linux mtr Command
+mtr Linux command
+How to traceroute use mtr command in Linux
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/112-ping.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/112-ping.md
index 5c4cd8225..12764822c 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/112-ping.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/112-ping.md
@@ -4,7 +4,6 @@
It has the following syntax: `$ ping [OPTIONS] DESTINATION` e.g. `$ ping roadmap.sh`
-{% resources %}
- {% Blog "https://linuxize.com/post/linux-ping-command/", "What is ping command?" %}
- {% Blog "https://www.geeksforgeeks.org/ping-command-in-linux-with-examples/", "ping command with examples" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+What is ping command?
+ping command with examples
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/113-nmap.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/113-nmap.md
index 2993b4192..a107b552d 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/113-nmap.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/113-nmap.md
@@ -2,7 +2,6 @@
NMAP stands for Network Mapper and is an open-source tool used to explore and audit the network's security, such as checking firewalls and scanning ports.
-{% resources %}
- {% Official "https://nmap.org/book/man.html", "NMAP Official Manual Book" %}
- {% Blog "https://www.freecodecamp.org/news/what-is-nmap-and-how-to-use-it-a-tutorial-for-the-greatest-scanning-tool-of-all-time/", "What is Nmap and How to Use it" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+NMAP Official Manual Book
+What is Nmap and How to Use it
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/114-netstat.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/114-netstat.md
index 9269181b3..9b5326402 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/114-netstat.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/114-netstat.md
@@ -2,10 +2,9 @@
Netstat is a command line utility to display all the network connections on a system. It displays all the tcp, udp and unix socket connections. Apart from connected sockets it also displays listening sockets that are waiting for incoming connections.
-{% resources %}
- {% Blog "https://www.tutorialspoint.com/unix_commands/netstat.htm", "netstat command in Linux with Examples" %}
- {% Blog "http://www.c-jump.com/CIS24/Slides/Networking/html_utils/netstat.html", "Netstat Tutorial" %}
- {% Blog "https://www.youtube.com/watch?v=bxFwpm4IobU", "Netstat Commands - Network Administration Tutorial" %}
- {% Blog "https://www.youtube.com/watch?v=zGNcvBaN5wE", "Linux Command Line Tutorial For Beginners - netstat command" %}
-{% endresources %}
+Free Content
+netstat command in Linux with Examples
+Netstat Tutorial
+Netstat Commands - Network Administration Tutorial
+Linux Command Line Tutorial For Beginners - netstat command
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/115-airmon.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/115-airmon.md
deleted file mode 100644
index ef72bb317..000000000
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/115-airmon.md
+++ /dev/null
@@ -1 +0,0 @@
-# Airmon
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/116-tcpdump.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/116-tcpdump.md
index 4c53ffd55..e11a705d6 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/116-tcpdump.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/116-tcpdump.md
@@ -2,9 +2,8 @@
`tcpdump` is a command line tool used for analysing network traffic passing through your system. It can be used to capture and filter packets and display them in a human-readable format. The captured information can be analysed at a later date as well.
-{% resources %}
- {% Official "https://www.tcpdump.org/manpages/tcpdump.1.html", "tcpdump Documentation" %}
- {% Blog "https://opensource.com/article/18/10/introduction-tcpdump", "Basic Introduction to Tcpdump" %}
- {% Blog "https://danielmiessler.com/study/tcpdump/", "50 ways to isolate traffic with Tcpdump" %}
- {% Blog "https://www.youtube.com/watch?v=7bsQP9sKHrs", "Interpreting Tcpdump output and data" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+tcpdump Documentation
+Basic Introduction to Tcpdump
+50 ways to isolate traffic with Tcpdump
+Interpreting Tcpdump output and data
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/117-airodump.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/117-airodump.md
deleted file mode 100644
index 94be21626..000000000
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/117-airodump.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# Airodump
-
-It's a packet sniffer used for packet captures such as WEP IVs (Initialization Vector) and WAP Handshake. Even if you have a GPS receiver connected to the computer, you can log the coordinates of the found access points.
-
-{% resources %}
- {% Official "https://www.aircrack-ng.org/", "Official Website" %}
- {% Official "https://www.aircrack-ng.org/doku.php", "Official Documentation" %}
- {% Blog "https://www.youtube.com/watch?v=ftM-Fra90VM", " Airodump ng Tool and Capture WPA WPA2 Handshake" %}
- {% Blog "https://www.youtube.com/watch?v=O6jYy421tGw", " Airodump ng Tool and Capture WPA WPA2 Handshake (by MBP Security on YouTube)" %}
-{% endresources %}
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/118-iptables.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/118-iptables.md
index 4965ff3ff..4527c9f20 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/118-iptables.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/118-iptables.md
@@ -2,7 +2,5 @@
IPtables is a command-line firewall utility that uses policy chains to allow or block traffic that will be enforced by the linux kernel’s netfilter framework. Iptables packet filtering mechanism is organized into three different kinds of structures: tables, chains and targets.
-{% resources %}
- {% Blog "https://www.hostinger.in/tutorials/iptables-tutorial", "Iptables tutorial" %}
- {% Blog "https://erravindrapawadia.medium.com/iptables-tutorial-beginners-to-advanced-guide-to-linux-firewall-839e10501759", "Beginners to Advanced Guide Iptables" %}
-{% endresources %}
+Iptables tutorial
+Beginners to Advanced Guide Iptables
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/119-dig.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/119-dig.md
index ccdbf1af6..89ecb0fb2 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/119-dig.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/119-dig.md
@@ -4,10 +4,9 @@
It has the following syntax: `$ dig [server] [name] [type]` e.g. `$ dig roadmap.sh`
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/dig-command-in-linux-with-examples/", "What is dig command?" %}
- {% Blog "https://linuxize.com/post/how-to-use-dig-command-to-query-dns-in-linux/", "More on dig" %}
- {% Blog "https://www.geeksforgeeks.org/host-command-in-linux-with-examples/", "What is host command?" %}
- {% Blog "https://www.geeksforgeeks.org/nslookup-command-in-linux-with-examples/", "What is nslookup command?" %}
- {% Blog "https://www.cloudflare.com/en-gb/learning/dns/what-is-dns/", "What is DNS?" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+What is dig command?
+More on dig
+What is host command?
+What is nslookup command?
+What is DNS?
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/120-awk.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/120-awk.md
index 6e5ceffba..317748dd2 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/120-awk.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/120-awk.md
@@ -6,8 +6,7 @@ It has the below syntax:
`awk options 'selection_criteria {action}' input-file > output-file` e.g. `$ awk '{print}' file.txt`
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/awk-command-unixlinux-examples/", "What is AWK? How to use it?" %}
- {% Blog "https://linuxize.com/post/awk-command/", "How AWK works?" %}
- {% Blog "https://www.youtube.com/watch?v=oPEnvuj9QrI", "Linux Crash Course - awk" %}
-{% endresources %}
+Free Content
+What is AWK? How to use it?
+How AWK works?
+Linux Crash Course - awk
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/121-sed.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/121-sed.md
index 1c2900c39..a5bb77ab5 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/121-sed.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/121-sed.md
@@ -6,9 +6,8 @@ It has the following syntax:
`$ sed [options].. [script] [input-file]` e.g. `$ sed 's/search-regex/replacement-txt/g' file.txt`
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/sed-command-in-linux-unix-with-examples/", "What is SED? with examples" %}
- {% Blog "https://www.gnu.org/software/sed/manual/sed.html", "Detailed Manual" %}
- {% Blog "https://www.youtube.com/watch?v=nXLnx8ncZyE&t=218s", "Linux Crash Course - The sed Command" %}
-{% endresources %}
+Free Content
+What is SED? with examples
+Detailed Manual
+Linux Crash Course - The sed Command
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/122-grep.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/122-grep.md
index 4494ecedb..6b49d630c 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/122-grep.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/122-grep.md
@@ -6,8 +6,7 @@ It has the following syntax:
`$ grep [options] pattern [files]` e.g. `$ grep "search-regex" file-1.txt`
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/grep-command-in-unixlinux/", "What is Grep? with examples" %}
- {% Blog "https://www.gnu.org/software/grep/manual/grep.html", "Detailed Manual" %}
- {% Blog "https://www.youtube.com/watch?v=Tc_jntovCM0", "Linux Crash Course - The grep Command" %}
-{% endresources %}
+Free Content
+What is Grep? with examples
+Detailed Manual
+Linux Crash Course - The grep Command
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/123-sort.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/123-sort.md
index c9fbcf4f0..1379f7f6f 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/123-sort.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/123-sort.md
@@ -6,9 +6,8 @@ It has the following syntax
`$ sort [options].. input-file` e.g. `$ sort file.txt`
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/sort-command-linuxunix-examples/", "Sort command with examples" %}
- {% Blog "https://en.wikipedia.org/wiki/Sort_(Unix)", "Options" %}
- {% Blog "https://www.youtube.com/watch?v=fEx5rnbDKO4", "Linux Tutorials|sort command GeeksforGeeks" %}
-{% endresources %}
+Free Content
+Sort command with examples
+Options
+Linux Tutorials|sort command GeeksforGeeks
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/124-cut.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/124-cut.md
index 16b5d9428..e70132f1b 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/124-cut.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/124-cut.md
@@ -4,7 +4,5 @@ The cut utility cuts out selected portions of each line (as specified by list) f
See `man cut` for further information.
-{% resources %}
- {% Official "https://man7.org/linux/man-pages/man1/cut.1.html", "cut Documentation" %}
- {% Blog "https://bencane.com/2012/10/22/cheat-sheet-cutting-text-with-cut/", "cut Cheat Sheet" %}
-{% endresources %}
+cut Documentation
+cut Cheat Sheet
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/125-uniq.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/125-uniq.md
index f2b970920..4c9779f8c 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/125-uniq.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/125-uniq.md
@@ -4,7 +4,5 @@ The uniq utility reads the specified input_file comparing adjacent lines, and wr
See `man uniq` for further information.
-{% resources %}
- {% Official "https://man7.org/linux/man-pages/man1/uniq.1.html", "uniq Documentation" %}
- {% Blog "https://www.geeksforgeeks.org/uniq-command-in-linux-with-examples/", "uniq Cheat Sheet" %}
-{% endresources %}
+uniq Documentation
+uniq Cheat Sheet
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/126-cat.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/126-cat.md
index 0e63b441c..0fa3680ba 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/126-cat.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/126-cat.md
@@ -11,8 +11,7 @@ It has the following syntax:
e.g. `$ cat file.txt`
-{% resources %}
- {% Blog "https://www.tecmint.com/13-basic-cat-command-examples-in-linux/", "Cat Command with examples" %}
- {% Blog "https://en.wikipedia.org/wiki/Cat_(Unix)", "Options" %}
- {% Blog "https://www.youtube.com/watch?v=exj5WMUJ11g", "Linux Tutorials|cat command|GeeksforGeeks" %}
-{% endresources %}
+Free Content
+Cat Command with examples
+Options
+Linux Tutorials|cat command|GeeksforGeeks
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/127-echo.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/127-echo.md
index f0a9a2694..bb0eb5392 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/127-echo.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/127-echo.md
@@ -4,7 +4,6 @@
It has the following syntax: `$ echo [options] [string]` e.g. `$ echo "Hello World!"`
-{% resources %}
- {% Blog "https://www.tecmint.com/echo-command-in-linux/", "Echo command with Examples" %}
- {% Blog "https://www.youtube.com/watch?v=S_ySzMHxMjw", "Linux Crash Course - The echo Command" %}
-{% endresources %}
+Free Content
+Echo command with Examples
+Linux Crash Course - The echo Command
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/128-fmt.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/128-fmt.md
index ceb825724..6c980b34f 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/128-fmt.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/128-fmt.md
@@ -4,6 +4,5 @@
It has the following syntax: `$ fmt [-width] [option] [file]` e.g. `$ fmt file.txt`
-{% resources %}
- {% Blog "https://www.devopsroles.com/fmt-command-in-linux-with-example/", "Fmt command with Examples" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+Fmt command with Examples
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/129-tr.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/129-tr.md
index 34590d067..70501beb9 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/129-tr.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/129-tr.md
@@ -4,7 +4,5 @@ The tr utility copies the standard input to the standard output with substitutio
See `man tr` for further information.
-{% resources %}
- {% Blog "https://linuxcommand.org/lc3_man_pages/tr1.html", "tr Documentation" %}
- {% Blog "https://linuxopsys.com/topics/tr-command-in-linux", "tr Cheat Sheet" %}
-{% endresources %}
+tr Documentation
+tr Cheat Sheet
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/130-nl.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/130-nl.md
index e87b4c157..a07ae078c 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/130-nl.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/130-nl.md
@@ -4,7 +4,5 @@ The nl utility reads lines from the named file or the standard input if the file
See `man nl` for further information.
-{% resources %}
- {% Official "https://man7.org/linux/man-pages/man1/nl.1.html", "nl Documentation" %}
- {% Blog "https://www.geeksforgeeks.org/nl-command-in-linux-with-examples/", "nl Cheat Sheet" %}
-{% endresources %}
+nl Documentation
+nl Cheat Sheet
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/131-wc.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/131-wc.md
index 08869d9e9..cef2fa123 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/131-wc.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/131-wc.md
@@ -4,7 +4,5 @@ The wc utility displays the number of lines, words, and bytes contained in each
See `man wc` for further information.
-{% resources %}
- {% Official "https://linux.die.net/man/1/wc", "wc Documentation" %}
- {% Blog "https://onecompiler.com/cheatsheets/wc", "wc Cheat Sheet" %}
-{% endresources %}
+wc Documentation
+wc Cheat Sheet
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/132-egrep.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/132-egrep.md
deleted file mode 100644
index 1f85658dd..000000000
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/132-egrep.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# egrep
-
-`egrep` (**E**xtended **Grep**) is a pattern searching command which belongs to the family of grep functions. It treats the pattern as an extended **regular expression** and prints out the lines that match the pattern.
-It works the same way as `$ grep -E` command
-
-It has the following syntax:
-
-`$ egrep [options] pattern [files]` e.g. `$ egrep "search-regex" *.txt`
-
-{% resources %}
- {% Blog "https://linuxhint.com/linux_egrep_command_examples/", "Egrep command with examples" %}
- {% Blog "https://www.thegeekdiary.com/fgrep-command-examples-in-linux", "options" %}
-{% endresources %}
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/133-fgrep.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/133-fgrep.md
deleted file mode 100644
index 2d8d5ba69..000000000
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/133-fgrep.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# fgrep
-
-`fgrep` (**F**ixed **Grep**) command is used for searching fixed-character strings in a file.
-It treats meta-characters or regular expressions in the search field as strings. For searching any **direct string** or files having meta-characters, this is the version of grep which should be selected. It works the same way as `$ grep -F` command.
-
-It has the following syntax:
-
-`$ fgrep [options] [string] [files]` e.g. `$ fgrep "search-string" file.txt`
-
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/fgrep-command-in-linux-with-examples/", "Fgrep command with examples" %}
- {% Blog "https://www.thegeekdiary.com/fgrep-command-examples-in-linux/", "options" %}
- {% Blog "https://www.tecmint.com/difference-between-grep-egrep-and-fgrep-in-linux/", "Grep vs Egrep vs Fgrep" %}
-{% endresources %}
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/134-strace.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/134-strace.md
index b0492f278..21c053223 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/134-strace.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/134-strace.md
@@ -2,7 +2,6 @@
`strac` is a useful diagnsotic, debugging tool for unix based operating systems. It traces the system calls and signals a process uses during its lifetime. And usually returns the name of the each system calls , its arguments and what it returned.
-{% resources %}
- {% Official "https://strace.io/", "Strace Official Website" %}
- {% Official "https://man7.org/linux/man-pages/man1/strace.1.html", "Strace — Linux manual page" %}
-{% endresources %}
+Free Content
+Strace Official Website
+Strace — Linux manual page
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/135-dtrace.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/135-dtrace.md
index 2ab1680ee..75ded56f6 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/135-dtrace.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/135-dtrace.md
@@ -2,7 +2,6 @@
DTrace is a comprehensive dynamic tracing framework ported from Solaris. DTrace provides a powerful infrastructure that permits administrators, developers, and service personnel to concisely answer arbitrary questions about the behavior of the operating system and user programs.
-{% resources %}
- {% Blog "https://man7.org/linux/man-pages/man1/dtrace.1.html", "df manual" %}
- {% Blog "https://en.wikipedia.org/wiki/DTrace", "Wikipedia - DTrace" %}
-{% endresources %}
+Free Content
+df manual
+Wikipedia - DTrace
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/137-uname.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/137-uname.md
index 42b4ed1c3..16fa1358f 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/137-uname.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/137-uname.md
@@ -2,8 +2,6 @@
Uname is a short form of Unix name and it helps to print the system information for both hardware and software in the current running system.
-{% resources %}
- {% Blog "https://www.tutorialspoint.com/unix_commands/uname.htm", "Uname Command Tutorial" %}
- {% Blog "https://www.howtoforge.com/linux-uname-command/", "Uname Tutorial For Beginners" %}
- {% Blog "https://linuxize.com/post/uname-command-in-linux/", "Uname Command In Linux" %}
-{% endresources %}
+Uname Command Tutorial
+Uname Tutorial For Beginners
+Uname Command In Linux
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/138-df.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/138-df.md
index 7be91a0c9..107acc227 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/138-df.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/138-df.md
@@ -2,8 +2,7 @@
`df` is a standard Unix command used to display the amount of available disk space for file systems on which the invoking user has appropriate read access. df is typically implemented using the statfs or statvfs system calls.
-{% resources %}
- {% Blog "https://man7.org/linux/man-pages/man1/df.1.html", "df manual" %}
- {% Blog "https://www.redhat.com/sysadmin/Linux-df-command", "Redhat - Check your disk space use with the Linux df command" %}
- {% Blog "https://www.geeksforgeeks.org/df-command-linux-examples/", "df command with examples" %}
-{% endresources %}
+Useful Links
+df manual
+Redhat - Check your disk space use with the Linux df command
+df command with examples
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/139-history.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/139-history.md
index fdf6a981a..25c75a672 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/139-history.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/139-history.md
@@ -4,6 +4,5 @@
It has the below syntax: `$ history`
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/history-command-in-linux-with-examples/", "What is history command? How to recall previous commands?" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+What is history command? How to recall previous commands?
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/140-du.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/140-du.md
index 37e5da47f..8a4095783 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/140-du.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/140-du.md
@@ -2,8 +2,7 @@
The `du` utility, short for disk usage, displays the file system block usage for each file argument and for each directory in the file hierarchy rooted in each directory argument. If no file is specified, the block usage of the hierarchy rooted in the current directory is displayed.
-{% resources %}
- {% Blog "https://man7.org/linux/man-pages/man1/du.1.html", "du manual" %}
- {% Blog "https://www.redhat.com/sysadmin/du-command-options", "Redhat - du and the options you should be using" %}
- {% Blog "https://linuxhint.com/linux-du-command-examples/", "Du command with examples" %}
-{% endresources %}
+Free Content
+du manual
+Redhat - du and the options you should be using
+Du command with examples
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/141-scp.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/141-scp.md
index bef413334..a162cad18 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/141-scp.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/141-scp.md
@@ -3,8 +3,7 @@
`SCP` is an acronym for Secure Copy Protocol.It is a command line utility that allows the user to securely copy files and directories between two locations usually between unix or linux systems.The protocol ensures the transmission of files is encrypted to prevent anyone with suspicious intentions from getting sensitive information.`SCP` uses encryption over an `SSH` (Secure Shell) connection, this ensures that the data being transferred is protected from suspicious attacks.
-{% resources %}
- {% Blog "https://www.freecodecamp.org/news/scp-linux-command-example-how-to-ssh-file-transfer-from-remote-to-local/", "SCP Linux Command" %}
- {% Blog "https://www.tecmint.com/scp-commands-examples/", "10 SCP command examples" %}
- {% Blog "https://phoenixnap.com/kb/linux-scp-command", "SCP command explained" %}
-{% endresources %}
+Free Content
+SCP Linux Command
+10 SCP command examples
+SCP command explained
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/142-ufw.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/142-ufw.md
index 1c33330bc..a97bcbaf1 100644
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/142-ufw.md
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/142-ufw.md
@@ -2,8 +2,7 @@
UFW, or *uncomplicated firewall*, is command-line based utility for managing firewall rules in Arch Linux, Debian and Ubuntu. It's aim is to make firewall configuration as simple as possible. It is a frontend for the `iptables` firewalling tool.
-{% resources %}
- {% Official "https://manpages.ubuntu.com/manpages/trusty/man8/ufw.8.html", "ufw Documentation" %}
- {% Blog "https://www.linux.com/training-tutorials/introduction-uncomplicated-firewall-ufw/", "Basic Introduction to UFW" %}
- {% Blog "https://www.digitalocean.com/community/tutorials/ufw-essentials-common-firewall-rules-and-commands", "UFW Essentials" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+ufw Documentation
+Basic Introduction to UFW
+UFW Essentials
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/index.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/index.md
deleted file mode 100644
index de44d8143..000000000
--- a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/index.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# Live in terminal
-
-A terminal is simply a text-based interface to the computer, it is use to interact with your computer system via CLI (command line interface)
-
-{% resources %}
- {% Blog "https://en.wikipedia.org/wiki/Command-line_interface", "What is CLI?" %}
-{% endresources %}
diff --git a/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/readme.md b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/readme.md
new file mode 100644
index 000000000..5cc06ee74
--- /dev/null
+++ b/src/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/readme.md
@@ -0,0 +1,6 @@
+# Live in terminal
+
+A terminal is simply a text-based interface to the computer, it is use to interact with your computer system via CLI (command line interface)
+
+Free Content
+What is CLI?
diff --git a/src/roadmaps/devops/content/102-managing-servers/index.md b/src/roadmaps/devops/content/102-managing-servers/readme.md
similarity index 100%
rename from src/roadmaps/devops/content/102-managing-servers/index.md
rename to src/roadmaps/devops/content/102-managing-servers/readme.md
diff --git a/src/roadmaps/devops/content/103-networking-protocols/100-osi-model.md b/src/roadmaps/devops/content/103-networking-protocols/100-osi-model.md
index beb02b05d..469f45f38 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/100-osi-model.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/100-osi-model.md
@@ -2,9 +2,14 @@
Open Systems Interconnection (OSI) model is a **conceptual** model consists of 7 layers, that was proposed to standardize the communication between devices over the network. It was the first standard model for network communications, adopted by all major computer and telecommunication companies in the early 1980s.
-{% resources %}
- {% Blog "https://www.cloudflare.com/en-gb/learning/ddos/glossary/open-systems-interconnection-model-osi/", "What is OSI Model?" %}
- {% Blog "https://www.youtube.com/watch?v=dV8mjZd1OtU", "OSI Model" %}
- {% Blog "https://www.geeksforgeeks.org/tcp-ip-model/", "What is TCP/IP Model?" %}
- {% Blog "https://www.youtube.com/watch?v=F5rni9fr1yE", "OSI vs TCP/IP Model" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+What is OSI Model?
+OSI Model
+
+# TCP/IP Model
+
+TCP/IP model is a **practical** model consists of 4 layers. The modern Internet is based on this model.
+
+
+What is TCP/IP Model?
+OSI vs TCP/IP Model
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/103-networking-protocols/101-dns.md b/src/roadmaps/devops/content/103-networking-protocols/101-dns.md
index c2410c3e0..d280b0157 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/101-dns.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/101-dns.md
@@ -2,9 +2,8 @@
DNS (**D**omain **N**ame **S**ystem) is the phonebook of the Internet. Humans access information online through domain names, like nytimes.com or espn.com. Web browsers interact through Internet Protocol (IP) addresses. DNS translates domain names to IP addresses so browsers can load Internet resources.
-{% resources %}
- {% Blog "https://www.cloudflare.com/en-gb/learning/dns/what-is-dns/", "What is DNS?" %}
- {% Blog "https://howdns.works/", "HOw DNS works (comic)" %}
- {% Blog "https://www.youtube.com/watch?v=Wj0od2ag5sk", "DNS and How does it Work?" %}
- {% Blog "https://www.youtube.com/watch?v=7lxgpKh_fRY", "DNS Records" %}
-{% endresources %}
+Free Content
+What is DNS?
+HOw DNS works (comic)
+DNS and How does it Work?
+DNS Records
diff --git a/src/roadmaps/devops/content/103-networking-protocols/102-http.md b/src/roadmaps/devops/content/103-networking-protocols/102-http.md
index eac3d368e..ac10871c6 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/102-http.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/102-http.md
@@ -2,10 +2,9 @@
HTTP is the `TCP/IP` based application layer communication protocol which standardizes how the client and server communicate with each other. It defines how the content is requested and transmitted across the internet.
-{% resources %}
- {% Blog "https://www.cloudflare.com/en-gb/learning/ddos/glossary/hypertext-transfer-protocol-http/", "What is HTTP?" %}
- {% Blog "https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview", "An overview of HTTP" %}
- {% Blog "https://kamranahmed.info/blog/2016/08/13/http-in-depth", "Journey to HTTP/2" %}
- {% Blog "https://www.smashingmagazine.com/2021/08/http3-core-concepts-part1/", "HTTP/3 From A To Z: Core Concepts" %}
- {% Blog "https://www.youtube.com/watch?v=iYM2zFP3Zn0", "HTTP Crash Course & Exploration" %}
-{% endresources %}
+Free Content
+What is HTTP?
+An overview of HTTP
+Journey to HTTP/2
+HTTP/3 From A To Z: Core Concepts
+HTTP Crash Course & Exploration
diff --git a/src/roadmaps/devops/content/103-networking-protocols/103-emails/100-white-grey-listing.md b/src/roadmaps/devops/content/103-networking-protocols/103-emails/100-white-grey-listing.md
index 7dddb88f4..d046c7346 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/103-emails/100-white-grey-listing.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/103-emails/100-white-grey-listing.md
@@ -4,7 +4,6 @@ White listing is a process of adding an email to an approved sender list, so ema
`Greylisting` is a method of protecting e-mail users against spam. A mail transfer agent (MTA) using greylisting will "temporarily reject" any email from a sender it does not recognize. If the mail is legitimate, the originating server will try again after a delay, and the email will be accepted if sufficient time has elapsed.
-{% resources %}
- {% Blog "https://www.cblohm.com/blog/education-marketing-trends/what-is-email-whitelisting/", "Basic Introduction to whitelisting" %}
- {% Blog "https://en.wikipedia.org/wiki/Greylisting_(email)", "Detailed Introduction to greylisting" %}
-{% endresources %}
+Free Content
+Basic Introduction to whitelisting
+Detailed Introduction to greylisting
diff --git a/src/roadmaps/devops/content/103-networking-protocols/103-emails/101-smtp.md b/src/roadmaps/devops/content/103-networking-protocols/103-emails/101-smtp.md
index 66e710238..41a0d77d1 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/103-emails/101-smtp.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/103-emails/101-smtp.md
@@ -4,6 +4,5 @@ Email is emerging as one of the most valuable services on the internet today. Mo
SMTP is an application layer protocol. The client who wants to send the mail opens a TCP connection to the SMTP server and then sends the mail across the connection. The SMTP server is an always-on listening mode. As soon as it listens for a TCP connection from any client, the SMTP process initiates a connection through port 25. After successfully establishing a TCP connection the client process sends the mail instantly.
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/simple-mail-transfer-protocol-smtp/", "What is Simple Mail Transfer Protocol (SMTP)?" %}
-{% endresources %}
+Free Content
+What is Simple Mail Transfer Protocol (SMTP)?
diff --git a/src/roadmaps/devops/content/103-networking-protocols/103-emails/102-imaps.md b/src/roadmaps/devops/content/103-networking-protocols/103-emails/102-imaps.md
index 9b688edac..26a2e868a 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/103-emails/102-imaps.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/103-emails/102-imaps.md
@@ -3,7 +3,6 @@ IMAP (port 143) or IMAPS (port 993) allows you to access your email wherever you
IMAP only downloads a message when you click on it, and attachments aren't automatically downloaded. This way you're able to check your messages a lot more quickly than POP.
-{% resources %}
- {% Blog "https://en.wikipedia.org/wiki/Internet_Message_Access_Protocol", "Wikipedia: Internet Message Access Protocol" %}
- {% Blog "https://www.youtube.com/watch?v=cfXabGOA2s8", "What is IMAP and How To Use It | Email Tutorial" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+Wikipedia: Internet Message Access Protocol
+What is IMAP and How To Use It | Email Tutorial
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/103-networking-protocols/103-emails/103-pop3s.md b/src/roadmaps/devops/content/103-networking-protocols/103-emails/103-pop3s.md
index 4b095e2bc..a55690fa1 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/103-emails/103-pop3s.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/103-emails/103-pop3s.md
@@ -5,6 +5,5 @@ Email servers hosted by Internet service providers also use POP3 to receive and
Once the email client has downloaded the emails, they are usually deleted from the server, although some email clients allow users to specify that mails be copied or saved on the server for a period of time.
-{% resources %}
- {% Blog "https://www.techtarget.com/whatis/definition/POP3-Post-Office-Protocol-3", "What is POP3?" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+What is POP3?
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/103-networking-protocols/103-emails/104-dmarc.md b/src/roadmaps/devops/content/103-networking-protocols/103-emails/104-dmarc.md
index 6aaba807c..982732288 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/103-emails/104-dmarc.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/103-emails/104-dmarc.md
@@ -2,6 +2,5 @@
DMARC stands for Domain-based Message Authentication, Reporting, and Conformance, is an authentication method on the email that is built to protect domain email from invalid email addresses or commonly known as email spoofing, email attacks, phishing, scams, and other threat activities.
-{% resources %}
- {% Blog "https://dmarc.org/", "DMARC Official Website" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+DMARC Official Website
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/103-networking-protocols/103-emails/105-spf.md b/src/roadmaps/devops/content/103-networking-protocols/103-emails/105-spf.md
index 4eb669a65..9f02c9c7b 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/103-emails/105-spf.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/103-emails/105-spf.md
@@ -2,7 +2,6 @@
Sender Policy Framework (SPF) is used to authenticate the sender of an email. With an SPF record in place, Internet Service Providers can verify that a mail server is authorized to send email for a specific domain. An SPF record is a DNS TXT record containing a list of the IP addresses that are allowed to send email on behalf of your domain.
-{% resources %}
- {% Official "https://www.cloudflare.com/learning/dns/dns-records/dns-spf-record/", "What is a DNS SPF record?" %}
- {% Blog "https://www.youtube.com/watch?v=WFPYrAr1boU", "SPF Overview" %}
-{% endresources %}
+Free Content
+What is a DNS SPF record?
+SPF Overview
diff --git a/src/roadmaps/devops/content/103-networking-protocols/103-emails/106-domain-keys.md b/src/roadmaps/devops/content/103-networking-protocols/103-emails/106-domain-keys.md
index 69a5aab7b..2c5b94c16 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/103-emails/106-domain-keys.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/103-emails/106-domain-keys.md
@@ -2,6 +2,5 @@
DomainKeys Identified Mail (DKIM) is an email authentication method designed to detect forged sender addresses in email (email spoofing), a technique often used in phishing and email spam.
-{% resources %}
- {% Blog "https://www.brainkart.com/article/DomainKeys-Identified-Mail_8493/", "DomainKeys Identified Mail" %}
-{% endresources %}
+Free Content
+DomainKeys Identified Mail
diff --git a/src/roadmaps/devops/content/103-networking-protocols/103-emails/index.md b/src/roadmaps/devops/content/103-networking-protocols/103-emails/readme.md
similarity index 54%
rename from src/roadmaps/devops/content/103-networking-protocols/103-emails/index.md
rename to src/roadmaps/devops/content/103-networking-protocols/103-emails/readme.md
index 196c070ff..42205cc96 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/103-emails/index.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/103-emails/readme.md
@@ -2,6 +2,5 @@
Electronic mail, commonly shortened to “email,” is a communication method that uses electronic devices to deliver messages across computer networks. "Email" refers to both the delivery system and individual messages that are sent and received.
-{% resources %}
- {% Blog "https://www.cloudflare.com/learning/email-security/what-is-email/", "What is an email?" %}
-{% endresources %}
+Reference Resource
+What is an email?
diff --git a/src/roadmaps/devops/content/103-networking-protocols/103-https.md b/src/roadmaps/devops/content/103-networking-protocols/103-https.md
index 2c8852c7c..cdc4f5d65 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/103-https.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/103-https.md
@@ -4,9 +4,8 @@ HTTPS (**H**ypertext **T**ransfer **P**rotocol **S**ecure) is the secure version
`HTTPS = HTTP + SSL/TLS`
-{% resources %}
- {% Blog "https://www.cloudflare.com/en-gb/learning/ssl/what-is-https/", "What is HTTPS?" %}
- {% Blog "https://developers.google.com/web/fundamentals/security/encrypt-in-transit/why-https", "Why HTTPS Matters" %}
- {% Blog "https://developers.google.com/web/fundamentals/security/encrypt-in-transit/enable-https", "Enabling HTTPS on Your Servers" %}
- {% Blog "https://howhttps.works/", "How HTTPS works (comic)" %}
-{% endresources %}
+Free Content
+What is HTTPS?
+Why HTTPS Matters
+Enabling HTTPS on Your Servers
+How HTTPS works (comic)
diff --git a/src/roadmaps/devops/content/103-networking-protocols/104-ftp.md b/src/roadmaps/devops/content/103-networking-protocols/104-ftp.md
index 25df67452..860e43bad 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/104-ftp.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/104-ftp.md
@@ -2,7 +2,6 @@
File Transfer Protocol(FTP) is `TCP/IP` based application layer communication protocol that helps transferring files between local and remote file systems over the network. To transfer a file, 2 TCP connections(control connection and data connection) are used in parallel.
-{% resources %}
- {% Blog "https://www.geeksforgeeks.org/file-transfer-protocol-ftp-in-application-layer/", "What is FTP?" %}
- {% Blog "https://www.fortinet.com/resources/cyberglossary/file-transfer-protocol-ftp-meaning", "FTP vs SFTP vs FTPS" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+What is FTP?
+FTP vs SFTP vs FTPS
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/103-networking-protocols/105-ssl-tls.md b/src/roadmaps/devops/content/103-networking-protocols/105-ssl-tls.md
index 9f320c6c2..94c70e37a 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/105-ssl-tls.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/105-ssl-tls.md
@@ -2,9 +2,8 @@
Secure Sockets Layer (SSL) and Transport Layer Security (TLS) are cryptographic protocols used to provide security in internet communications. These protocols encrypt the data that is transmitted over the web, so anyone who tries to intercept packets will not be able to interpret the data. One difference that is important to know is that SSL is now deprecated due to security flaws, and most modern web browsers no longer support it. But TLS is still secure and widely supported, so preferably use TLS.
-{% resources %}
- {% Blog "https://www.cloudflare.com/learning/ssl/what-is-ssl/", "Cloudflare - What is SSL?" %}
- {% Blog "https://www.cloudflare.com/en-gb/learning/ssl/transport-layer-security-tls/", "Cloudflare - What is TLS?" %}
- {% Blog "https://en.wikipedia.org/wiki/Transport_Layer_Security", "Wikipedia - SSL/TLS" %}
- {% Blog "https://www.youtube.com/watch?v=k3rFFLmQCuY", "SSH vs SSL vs TLS" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+Cloudflare - What is SSL?
+Cloudflare - What is TLS?
+Wikipedia - SSL/TLS
+SSH vs SSL vs TLS
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/103-networking-protocols/106-ssh.md b/src/roadmaps/devops/content/103-networking-protocols/106-ssh.md
index 62dd36af8..a1cd8bb22 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/106-ssh.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/106-ssh.md
@@ -4,8 +4,7 @@ The SSH (**S**ecure **Sh**ell) is a network communication protocol that enables
`SFTP = FTP + SSH`
-{% resources %}
- {% Blog "https://www.baeldung.com/cs/ssh-intro", "SSH Intro" %}
- {% Official "https://www.ssh.com/academy/ssh/protocol", "What is SSH?" %}
- {% Blog "https://www.goanywhere.com/blog/how-sftp-works", "SFTP using SSH" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+SSH Intro
+What is SSH?
+SFTP using SSH
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/103-networking-protocols/107-port-forwarding.md b/src/roadmaps/devops/content/103-networking-protocols/107-port-forwarding.md
index a9d4d6e75..c8d2f6afb 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/107-port-forwarding.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/107-port-forwarding.md
@@ -2,7 +2,6 @@
Port forwarding, sometimes called **port mapping**, allows computers or services in private networks to connect over the internet with other public or private computers or services. Since firewalls exist to keep unwanted visitors out, the visitors you want to get in are going to need a way to do so. Knowing the IP address isn’t enough, Requests need to be directed to the correct port as well.
-{% resources %}
- {% Blog "https://learn.g2.com/port-forwarding", "What is Port Forwarding?" %}
- {% Blog "https://cybernews.com/what-is-vpn/port-forwarding/", "Types of Port Forwarding" %}
-{% endresources %}
+Free Content
+What is Port Forwarding?
+Types of Port Forwarding
diff --git a/src/roadmaps/devops/content/103-networking-protocols/index.md b/src/roadmaps/devops/content/103-networking-protocols/readme.md
similarity index 66%
rename from src/roadmaps/devops/content/103-networking-protocols/index.md
rename to src/roadmaps/devops/content/103-networking-protocols/readme.md
index 7de8c51c6..e56d62841 100644
--- a/src/roadmaps/devops/content/103-networking-protocols/index.md
+++ b/src/roadmaps/devops/content/103-networking-protocols/readme.md
@@ -2,6 +2,5 @@
A network protocol is an established set of rules that determine how data is transmitted between different devices in the same network. Essentially, it allows connected devices to communicate with each other, regardless of any differences in their internal processes, structure or design. Network protocols are the reason you can easily communicate with people all over the world, and thus play a critical role in modern digital communications.
-{% resources %}
- {% Blog "https://www.comptia.org/content/guides/what-is-a-network-protocol", "What Is a Network Protocol, and How Does It Work?" %}
-{% endresources %}
+Free Content
+What Is a Network Protocol, and How Does It Work?
diff --git a/src/roadmaps/devops/content/104-setting-up-x/100-reverse-proxy.md b/src/roadmaps/devops/content/104-setting-up-x/100-reverse-proxy.md
index 93acd3ae1..e49d360c9 100644
--- a/src/roadmaps/devops/content/104-setting-up-x/100-reverse-proxy.md
+++ b/src/roadmaps/devops/content/104-setting-up-x/100-reverse-proxy.md
@@ -8,7 +8,6 @@ A Reverse Proxy server is a type of proxy server that typically sits behind the
* Web acceleration
* Security and anonymity
-{% resources %}
- {% Blog "https://www.cloudflare.com/en-gb/learning/cdn/glossary/reverse-proxy/", "What is Reverse Proxy?" %}
- {% Blog "https://www.nginx.com/resources/glossary/reverse-proxy-server/", "NGINX documentation" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+What is Reverse Proxy?
+NGINX documentation
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/104-setting-up-x/101-caching-server.md b/src/roadmaps/devops/content/104-setting-up-x/101-caching-server.md
index 8a036e0d5..4c1d375c9 100644
--- a/src/roadmaps/devops/content/104-setting-up-x/101-caching-server.md
+++ b/src/roadmaps/devops/content/104-setting-up-x/101-caching-server.md
@@ -2,8 +2,7 @@
A cache server is a **dedicated network server** or service acting as a server that saves Web pages or other Internet content locally. By placing previously requested information in temporary storage, or cache, a cache server both speeds up access to data and reduces demand on an enterprise's bandwidth.
-{% resources %}
- {% Blog "https://www.cloudflare.com/en-gb/learning/cdn/what-is-caching/", "What is Caching?" %}
- {% Blog "https://networkencyclopedia.com/cache-server/", "What is Cache Server?" %}
- {% Blog "https://wp-rocket.me/blog/different-types-of-caching/", "Site Cache vs Browser Cache vs Server Cache" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+What is Caching?
+What is Cache Server?
+Site Cache vs Browser Cache vs Server Cache
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/104-setting-up-x/102-forward-proxy.md b/src/roadmaps/devops/content/104-setting-up-x/102-forward-proxy.md
index 1b2b85c67..bfc271553 100644
--- a/src/roadmaps/devops/content/104-setting-up-x/102-forward-proxy.md
+++ b/src/roadmaps/devops/content/104-setting-up-x/102-forward-proxy.md
@@ -8,7 +8,6 @@ Forward Proxy, often called proxy server is a server that sits in front of a gro
* To protect client identity online
* To provide restricted internet to organizations
-{% resources %}
- {% Blog "https://www.fortinet.com/resources/cyberglossary/proxy-server", "What is Forward Proxy?" %}
- {% Blog "https://oxylabs.io/blog/reverse-proxy-vs-forward-proxy", "Forward vs Reverse Proxy" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+What is Forward Proxy?
+Forward vs Reverse Proxy
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/104-setting-up-x/103-load-balancer.md b/src/roadmaps/devops/content/104-setting-up-x/103-load-balancer.md
index 1ab556a4a..b6539d6ac 100644
--- a/src/roadmaps/devops/content/104-setting-up-x/103-load-balancer.md
+++ b/src/roadmaps/devops/content/104-setting-up-x/103-load-balancer.md
@@ -2,7 +2,6 @@
Load Balancer acts as the **traffic cop** sitting in front of your servers and routing client requests across all servers capable of fulfilling those requests in a manner that maximizes speed and capacity utilization and ensures that no one server is overworked. If a one of the servers goes down, the load balancer redirects traffic to the remaining online servers.
-{% resources %}
- {% Blog "https://www.nginx.com/resources/glossary/load-balancing/", "What is Load Balancing?" %}
- {% Blog "https://www.cloudflare.com/en-gb/learning/performance/what-is-load-balancing/", "Load Balancing concepts and algorithms" %}
-{% endresources %}
\ No newline at end of file
+Free Content
+What is Load Balancing?
+Load Balancing concepts and algorithms
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/104-setting-up-x/104-firewall.md b/src/roadmaps/devops/content/104-setting-up-x/104-firewall.md
index f8889be7c..19396251c 100644
--- a/src/roadmaps/devops/content/104-setting-up-x/104-firewall.md
+++ b/src/roadmaps/devops/content/104-setting-up-x/104-firewall.md
@@ -2,11 +2,10 @@
Firewall is a **network security device** that monitors and filters incoming and outgoing network traffic based on an organization’s previously established security policies. It is a barrier that sits between a private internal network and the public Internet. A firewall’s main purpose is to allow non-threatening traffic in and to keep dangerous traffic out.
-{% resources %}
- {% Blog "https://www.checkpoint.com/cyber-hub/network-security/what-is-firewall/", "What is Firewall?" %}
- {% Blog "https://www.cisco.com/c/en_in/products/security/firewalls/what-is-a-firewall.html", "Types of Firewall" %}
- {% Blog "https://www.geeksforgeeks.org/introduction-of-firewall-in-computer-network/", " Introduction of Firewall in Computer Network" %}
- {% Blog "https://www.geeksforgeeks.org/introduction-of-firewall-in-computer-network/", " What is Firewall in Computer Network?" %}
- {% Blog "https://www.tutorialspoint.com/what-is-a-firewall-and-why-do-you-need-one", "Why do we need Firewalls?" %}
- {% Blog "https://www.youtube.com/watch?v=9GZlVOafYTg", " Firewalls and Network Security - SimpliLearn" %}
-{% endresources %}
+Free Content
+What is Firewall?
+Types of Firewall
+ Introduction of Firewall in Computer Network
+ What is Firewall in Computer Network?
+Why do we need Firewalls?
+ Firewalls and Network Security - SimpliLearn
diff --git a/src/roadmaps/devops/content/104-setting-up-x/105-nginx.md b/src/roadmaps/devops/content/104-setting-up-x/105-nginx.md
index 3e27d0ab3..a99b98d97 100644
--- a/src/roadmaps/devops/content/104-setting-up-x/105-nginx.md
+++ b/src/roadmaps/devops/content/104-setting-up-x/105-nginx.md
@@ -2,7 +2,6 @@
NGINX is a powerful web server and uses a non-threaded, event-driven architecture that enables it to outperform Apache if configured correctly. It can also do other important things, such as load balancing, HTTP caching, or be used as a reverse proxy.
-{% resources %}
- {% Official "https://nginx.org/", "Official Website" %}
- {% Blog "https://www.youtube.com/watch?v=JKxlsvZXG7c", "NGINX Explained in 100 Seconds" %}
-{% endresources %}
+Free Content
+Official Website
+NGINX Explained in 100 Seconds
diff --git a/src/roadmaps/devops/content/104-setting-up-x/106-apache.md b/src/roadmaps/devops/content/104-setting-up-x/106-apache.md
index 36a37b022..eb7663c69 100644
--- a/src/roadmaps/devops/content/104-setting-up-x/106-apache.md
+++ b/src/roadmaps/devops/content/104-setting-up-x/106-apache.md
@@ -2,7 +2,6 @@
Apache is a free, open-source HTTP server, available on many operating systems, but mainly used on Linux distributions. It is one of the most popular options for web developers, as it accounts for over 30% of all the websites, as estimated by W3Techs.
-{% resources %}
- {% Official "https://httpd.apache.org/", "Apache Server Website" %}
- {% Blog "https://www.youtube.com/watch?v=kaaenHXO4t4", "What is Apache Web Server?" %}
-{% endresources %}
+Free Content
+Apache Server Website
+What is Apache Web Server?
diff --git a/src/roadmaps/devops/content/104-setting-up-x/106-caddy.md b/src/roadmaps/devops/content/104-setting-up-x/106-caddy.md
deleted file mode 100644
index fc368f80c..000000000
--- a/src/roadmaps/devops/content/104-setting-up-x/106-caddy.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Caddy
-
-The Caddy web server is an extensible, cross-platform, open-source web server written in Go. It has some really nice features like automatic SSL/HTTPs and a really easy configuration file.
-
-{% resources %}
- {% Official "https://caddyserver.com/", "Official Website" %}
- {% Blog "https://www.youtube.com/watch?v=t4naLFSlBpQ", "Getting started with Caddy the HTTPS Web Server from scratch" %}
-{% endresources %}
diff --git a/src/roadmaps/devops/content/104-setting-up-x/107-tomcat.md b/src/roadmaps/devops/content/104-setting-up-x/107-tomcat.md
index a756ad7fa..04cf6a7b8 100644
--- a/src/roadmaps/devops/content/104-setting-up-x/107-tomcat.md
+++ b/src/roadmaps/devops/content/104-setting-up-x/107-tomcat.md
@@ -2,8 +2,7 @@
Tomcat is an open source implementation of the Jakarta Servlet, Jakarta Server Pages, Jakarta Expression Language, Jakarta WebSocket, Jakarta Annotations and Jakarta Authentication specifications. These specifications are part of the Jakarta EE platform.
-{% resources %}
- {% Blog "https://tomcat.apache.org/", "Tomcat Website" %}
- {% Blog "https://tomcat.apache.org/tomcat-10.0-doc/index.html", "Official Documentation(Tomcat 10.0)" %}
- {% Blog "https://www.youtube.com/c/ApacheTomcatOfficial", "Apache Tomcat" %}
-{% endresources %}
+Free Content
+Tomcat Website
+Official Documentation(Tomcat 10.0)
+Apache Tomcat
diff --git a/src/roadmaps/devops/content/104-setting-up-x/108-iis.md b/src/roadmaps/devops/content/104-setting-up-x/108-iis.md
index bbaa33da1..aaf3f8987 100644
--- a/src/roadmaps/devops/content/104-setting-up-x/108-iis.md
+++ b/src/roadmaps/devops/content/104-setting-up-x/108-iis.md
@@ -2,7 +2,6 @@
Internet Information Services (IIS) for Windows® Server is a flexible, secure and manageable Web server for hosting anything on the Web.
-{% resources %}
- {% Official "https://www.iis.net/", "Official Website" %}
- {% Blog "https://www.youtube.com/watch?v=1VdxPWwtISA", "Learn Windows Web Server IIS" %}
-{% endresources %}
+Free Content
+Official Website
+Learn Windows Web Server IIS
diff --git a/src/roadmaps/devops/content/104-setting-up-x/index.md b/src/roadmaps/devops/content/104-setting-up-x/readme.md
similarity index 100%
rename from src/roadmaps/devops/content/104-setting-up-x/index.md
rename to src/roadmaps/devops/content/104-setting-up-x/readme.md
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/100-docker.md b/src/roadmaps/devops/content/105-infrastructure-as-code/100-docker.md
index 4a8353854..2352df0dc 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/100-docker.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/100-docker.md
@@ -2,9 +2,8 @@
Docker is a software platform that allows you to build, test, and deploy applications quickly. Docker packages software into standardized units called containers that have everything the software needs to run including libraries, system tools, code, and runtime. Using Docker, you can quickly deploy and scale applications into any environment and know your code will run.
-{% resources %}
- {% Official "https://www.docker.com/", "Docker Website" %}
- {% Blog "https://docs.docker.com/", "Docker Documentation" %}
- {% Blog "https://www.youtube.com/watch?v=pTFZFxd4hOI", "Docker Tutorial for Beginners" %}
- {% Blog "https://www.youtube.com/watch?v=3c-iBn73dDE", "Docker Full Course for Beginners" %}
-{% endresources %}
+Free Content
+Docker Website
+Docker Documentation
+Docker Tutorial for Beginners
+Docker Full Course for Beginners
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/100-consul.md b/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/100-consul.md
index 958c37edd..67f6d3445 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/100-consul.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/100-consul.md
@@ -2,6 +2,5 @@
Consul is a service mesh solution providing a full featured control plane with service discovery, configuration, and segmentation functionality. Each of these features can be used individually as needed, or they can be used together to build a full service mesh. Consul requires a data plane and supports both a proxy and native integration model. Consul ships with a simple built-in proxy so that everything works out of the box, but also supports 3rd party proxy integrations such as Envoy.
-{% resources %}
- {% Blog "https://www.consul.io/docs/intro", "What is Consul?" %}
-{% endresources %}
+Free Content
+What is Consul?
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/101-istio.md b/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/101-istio.md
index 22a6d01ce..0b814cc5c 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/101-istio.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/101-istio.md
@@ -2,6 +2,5 @@
Istio is an open source service mesh platform that provides a way to control how microservices share data with one another. It includes APIs that let Istio integrate into any logging platform, telemetry, or policy system. Istio is designed to run in a variety of environments: on-premise, cloud-hosted, in Kubernetes containers, in services running on virtual machines, and more.
-{% resources %}
- {% Blog "https://www.redhat.com/en/topics/microservices/what-is-istio", "What is Istio?" %}
-{% endresources %}
+Free Content
+What is Istio?
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/102-envoy.md b/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/102-envoy.md
index d69f42353..072a12a6d 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/102-envoy.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/102-envoy.md
@@ -2,8 +2,7 @@
Originally created at Lyft, Envoy is a high-performance data plane designed for service mesh architectures. Lyft open sourced it and donated it to the CNCF, where it is now one of the CNCF’s graduated open source projects. Envoy is a self contained process that is designed to run alongside every application server. All of the Envoys form a transparent communication mesh in which each application sends and receives messages to and from localhost and is unaware of the network topology.
-{% resources %}
- {% Official "https://www.envoyproxy.io/", "Envoy Website" %}
- {% Official "https://www.envoyproxy.io/docs/envoy/latest/start/start", "Envoy Documentation" %}
- {% Blog "https://www.envoyproxy.io/docs/envoy/latest/intro/what_is_envoy", "What is Envoy?" %}
-{% endresources %}
+Free Content
+Envoy Website
+Envoy Documentation
+What is Envoy?
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/103-linkerd.md b/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/103-linkerd.md
index e0d40db05..e8d799df7 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/103-linkerd.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/103-linkerd.md
@@ -2,8 +2,7 @@
Linkerd is an open source service mesh designed to be deployed into a variety of container schedulers and frameworks such as Kubernetes. It became the original “service mesh” when its creator Buoyant first coined the term in 2016. Like Twitter’s Finagle, on which it was based, Linkerd was first written in Scala and designed to be deployed on a per-host basis. Linkerd is one of the first products to be associated with the term service mesh and supports platforms such as Docker and Kubernetes.
-{% resources %}
- {% Official "https://linkerd.io/", "Linkerd Website" %}
- {% Blog "https://linkerd.io/2.11/overview/", "Linkerd Documentation" %}
- {% Blog "https://www.techtarget.com/searchitoperations/definition/Linkerd", "What is Linkerd?" %}
-{% endresources %}
+Free Content
+Linkerd Website
+Linkerd Documentation
+What is Linkerd?
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/index.md b/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/readme.md
similarity index 55%
rename from src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/index.md
rename to src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/readme.md
index 7bd693ec4..32b7e70b9 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/index.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/readme.md
@@ -2,7 +2,6 @@
A service mesh, like the open source project Istio, is a way to control how different parts of an application share data with one another. Unlike other systems for managing this communication, a service mesh is a dedicated infrastructure layer built right into an app. This visible infrastructure layer can document how well (or not) different parts of an app interact, so it becomes easier to optimize communication and avoid downtime as an app grows.
-{% resources %}
- {% Blog "https://www.redhat.com/en/topics/microservices/what-is-a-service-mesh", "Whats a service mesh?" %}
- {% Blog "https://thenewstack.io/category/service-mesh/", "The latest news about service mesh (TNS)" %}
-{% endresources %}
+Free Content
+What's a service mesh?
+The latest news about service mesh (TNS)
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/101-containers.md b/src/roadmaps/devops/content/105-infrastructure-as-code/101-containers.md
index 951b51b3a..e544f06ff 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/101-containers.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/101-containers.md
@@ -4,9 +4,8 @@ Containers are a construct in which [cgroups](https://en.wikipedia.org/wiki/Cgro
These images are designed for portability, allowing for full local testing of a static image, and easy deployment to a container management platform.
-{% resources %}
- {% Blog "https://cloud.google.com/learn/what-are-containers", "What are Containers?" %}
- {% Blog "https://www.docker.com/resources/what-container/", "What is a Container?" %}
- {% Blog "https://www.youtube.com/playlist?list=PLawsLZMfND4nz-WDBZIj8-nbzGFD4S9oz", "What are Containers?" %}
- {% Blog "https://thenewstack.io/category/containers/", "Articles about Containers - The New Stack" %}
-{% endresources %}
+Free Content
+What are Containers?
+What is a Container?
+What are Containers?
+Articles about Containers - The New Stack
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/101-lxc.md b/src/roadmaps/devops/content/105-infrastructure-as-code/101-lxc.md
index dc4beaabf..94de13d46 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/101-lxc.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/101-lxc.md
@@ -2,8 +2,7 @@
LXC is a well-known Linux container runtime that consists of tools, templates, and library and language bindings. It's pretty low level, very flexible and covers just about every containment feature supported by the upstream kernel.
-{% resources %}
- {% Official "https://linuxcontainers.org/", "LXC Website" %}
- {% Blog "https://linuxcontainers.org/lxc/documentation/", "LXC Documentation" %}
- {% Blog "https://www.youtube.com/watch?v=CWmkSj_B-wo", "Getting started with LXC containers" %}
-{% endresources %}
+Free Content
+LXC Website
+LXC Documentation
+Getting started with LXC containers
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/100-ansible.md b/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/100-ansible.md
index 11065909b..451a4e374 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/100-ansible.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/100-ansible.md
@@ -3,9 +3,7 @@
Ansible is an open-source configuration management, application deployment and provisioning tool that uses its own declarative language in YAML. Ansible is agentless, meaning you only need remote connections via SSH or Windows Remote Management via Powershell in order to function
-{% resources %}
- {% Official "https://www.ansible.com/", "Ansible Website" %}
- {% Official "https://docs.ansible.com/", "Official Documentation" %}
- {% Blog "https://www.ansible.com/resources/get-started", "Ansible Getting Started Guide" %}
- {% Blog "https://www.youtube.com/watch?v=9Ua2b06oAr4", "Ansible Full Course for Beginners" %}
-{% endresources %}
+Ansible Website
+Official Documentation
+Ansible Getting Started Guide
+Ansible Full Course for Beginners
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/101-chef.md b/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/101-chef.md
index 4e9b9efc6..3b3365f9f 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/101-chef.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/101-chef.md
@@ -6,7 +6,5 @@ Chef requires that a client is installed on a server being managed. This client
A key tenet of Chef recipe design is the concept of [idempotence](https://en.wikipedia.org/wiki/Idempotence). All Chef recipes should be runnable multiple times and produce the same result - this is especially necessary in cases where the client/server model listed above is in use. This pattern of configuration management is highly influential for future declarative tools like Terraform and Cloud Formation.
-{% resources %}
- {% Official "https://www.chef.io/products/chef-infra", "Chef Website" %}
- {% Blog "https://www.tutorialspoint.com/chef/index.htm", "Chef Tutorial" %}
-{% endresources %}
+Chef Website
+Chef Tutorial
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/102-salt.md b/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/102-salt.md
index b4f1140b2..2ca697e3c 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/102-salt.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/102-salt.md
@@ -2,9 +2,7 @@
Salt is an open-source event-driven IT automation, remote task execution, and configuration management software service. Built on python, Salt uses simple and human-readable YAML combined with event-driven automation to deploy and configure complex IT systems.
-{% resources %}
- {% Official "https://docs.saltproject.io/en/latest/topics/about_salt_project.html", "Salt Project Website" %}
- {% Official "https://docs.saltproject.io/en/latest/", "Official Documentation" %}
- {% Blog "https://docs.saltproject.io/en/latest/topics/index.html", "Introduction to Salt" %}
- {% Blog "https://docs.saltproject.io/en/latest/topics/installation/index.html#installation", "Salt Installation" %}
-{% endresources %}
+Salt Project Website
+Official Documentation
+Introduction to Salt
+Salt Installation
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/103-puppet.md b/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/103-puppet.md
index 4e5eab1a8..00201f36e 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/103-puppet.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/103-puppet.md
@@ -2,8 +2,6 @@
Puppet, an automated administrative engine for your Linux, Unix, and Windows systems, performs administrative tasks (such as adding users, installing packages, and updating server configurations) based on a centralized specification.
-{% resources %}
- {% Official "https://puppet.com/", "Puppet Website" %}
- {% Official "https://puppet.com/docs", "Official Documentation" %}
- {% Blog "https://puppet.com/docs/puppet/6/puppet_overview.html", "Introduction to Puppet" %}
-{% endresources %}
+Puppet Website
+Official Documentation
+Introduction to Puppet
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/index.md b/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/readme.md
similarity index 79%
rename from src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/index.md
rename to src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/readme.md
index 022c66997..0da4b9e50 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/index.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/readme.md
@@ -4,6 +4,5 @@ Configuration management is a systems engineering process for establishing consi
Software configuration management is a systems engineering process that tracks and monitors changes to a software systems configuration metadata. In software development, configuration management is commonly used alongside version control and CI/CD infrastructure. This post focuses on its modern application and use in agile CI/CD software environments.
-{% resources %}
- {% Blog "https://www.atlassian.com/microservices/microservices-architecture/configuration-management", "What is configuration management?" %}
-{% endresources %}
+Free Content
+What is configuration management?
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/100-terraform.md b/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/100-terraform.md
index c6efe5286..e93fb18d0 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/100-terraform.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/100-terraform.md
@@ -2,14 +2,12 @@
Terraform is an extremely popular open source Infrastructure as Code (IaC) tool that can be used with many different cloud and service provider APIs. Terraform focuses on an immutable approach to infrastructure, with a terraform state file center to tracking the status of your real world infrastructure.
-{% resources %}
- {% Official "https://www.terraform.io/", "Terraform Website" %}
- {% Official "https://www.terraform.io/docs", "Terraform Documentation" %}
- {% Blog "https://learn.hashicorp.com/terraform", "Terraform Tutorials" %}
- {% Blog "https://www.youtube.com/watch?v=h970ZBgKINg&ab_channel=HashiCorp", "Intro to Terraform Video" %}
- {% Official "https://www.terraform.io/cdktf", "Terraform CDK Website" %}
- {% Blog "https://www.terraform.io/cdktf/concepts/cdktf-architecture", "What is the CDKTF?" %}
- {% Blog "https://learn.hashicorp.com/tutorials/terraform/cdktf-install?in=terraform/cdktf", "CDKTF Getting Started Guide" %}
- {% Blog "https://www.terraform.io/cdktf/examples", "CDKTF Examples" %}
- {% Blog "https://thenewstack.io/how-to-scale-your-terraform-infrastructure/", "How to Scale Your Terraform Infrastructure" %}
-{% endresources %}
+Terraform Website
+Terraform Documentation
+Terraform Tutorials
+Intro to Terraform Video
+Terraform CDK Website
+What is the CDKTF?
+CDKTF Getting Started Guide
+CDKTF Examples
+How to Scale Your Terraform Infrastructure
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/101-aws-cdk.md b/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/101-aws-cdk.md
index 91210d58b..38c9ad457 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/101-aws-cdk.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/101-aws-cdk.md
@@ -2,10 +2,8 @@
The AWS Cloud Development Kit (AWS CDK) is an open-source software development framework used to provision cloud infrastructure resources in a safe, repeatable manner through AWS CloudFormation. AWS CDK offers the flexibility to write infrastructure as code in popular languages like JavaScript, TypeScript, Python, Java, C#, and Go.
-{% resources %}
- {% Official "https://aws.amazon.com/cdk/", "AWS CDK Website" %}
- {% Official "https://docs.aws.amazon.com/cdk/index.html", "Official Documentation" %}
- {% Blog "https://docs.aws.amazon.com/cdk/v2/guide/home.html", "What is the AWS CDK?" %}
- {% Blog "https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html", "AWS SDK Getting Started Guide" %}
- {% Blog "https://github.com/aws-samples/aws-cdk-examples", "AWS CDK Examples" %}
-{% endresources %}
+AWS CDK Website
+Official Documentation
+What is the AWS CDK?
+AWS SDK Getting Started Guide
+AWS CDK Examples
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/102-cloudformation.md b/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/102-cloudformation.md
index 6adc56b33..c7f79225a 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/102-cloudformation.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/102-cloudformation.md
@@ -2,9 +2,7 @@
CloudFormation is the AWS service that helps to define collections of AWS resources. CloudFormation lets you model, provision, and manage AWS and third-party resources by treating infrastructure as code.
-{% resources %}
- {% Official "https://aws.amazon.com/cloudformation/", "AWS CloudFormation Website" %}
- {% Official "https://docs.aws.amazon.com/cloudformation/index.html", "Official Documentation" %}
- {% Blog "https://aws.amazon.com/cloudformation/getting-started/", "AWS CloudFormation Getting Started Guide" %}
- {% Blog "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-sample-templates.html", "CloudFormation Sample Templates" %}
-{% endresources %}
+AWS CloudFormation Website
+Official Documentation
+AWS CloudFormation Getting Started Guide
+CloudFormation Sample Templates
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/103-pulumi.md b/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/103-pulumi.md
index 187cf43aa..a1c59576a 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/103-pulumi.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/103-pulumi.md
@@ -2,8 +2,6 @@
Pulumi is an open source Infrastructure as Code tool that can be written in TypeScript, JavaScript, Python, Go, .NET, Java, and YAML to model cloud infrastructure.
-{% resources %}
- {% Official "https://www.pulumi.com/", "Pulumi Website" %}
- {% Official "https://www.pulumi.com/docs/", "Official Documentation" %}
- {% Blog "https://www.pulumi.com/docs/get-started/", "Pulumi Getting Started Guide" %}
-{% endresources %}
+Pulumi Website
+Official Documentation
+Pulumi Getting Started Guide
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/index.md b/src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/readme.md
similarity index 100%
rename from src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/index.md
rename to src/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/readme.md
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/104-docker-swarm.md b/src/roadmaps/devops/content/105-infrastructure-as-code/104-docker-swarm.md
index 5e990d2a0..4f5d1c63a 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/104-docker-swarm.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/104-docker-swarm.md
@@ -2,10 +2,10 @@
A Docker Swarm is a group of either physical or virtual machines that are running the Docker application and that have been configured to join together in a cluster. Once a group of machines have been clustered together, you can still run the Docker commands that you're used to, but they will now be carried out by the machines in your cluster. The activities of the cluster are controlled by a swarm manager, and machines that have joined the cluster are referred to as nodes.
-{% resources %}
- {% Official "https://www.docker.com/", "Official Website" %}
- {% Blog "https://docs.docker.com/engine/swarm/", "Docker Swarm Documentation" %}
- {% Blog "https://www.youtube.com/watch?v=Tm0Q5zr3FL4", "Docker Swarm Tutorial for Beginners" %}
- {% Blog "https://thenewstack.io/tutorial-manage-docker-swarm-with-portainer/", "Tutorial: Manage Docker Swarm with Portainer" %}
- {% Blog "https://thenewstack.io/tutorial-create-a-docker-swarm-with-persistent-storage-using-glusterfs/", "Tutorial: Create a Docker Swarm with Persistent Storage Using GlusterFS" %}
-{% endresources %}
+Free Content
+Official Website
+Docker Swarm Documentation
+Docker Swarm Tutorial for Beginners
+
+Tutorial: Manage Docker Swarm with Portainer
+Tutorial: Create a Docker Swarm with Persistent Storage Using GlusterFS
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/100-argo-cd.md b/src/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/100-argo-cd.md
new file mode 100644
index 000000000..dc4c37e36
--- /dev/null
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/100-argo-cd.md
@@ -0,0 +1,10 @@
+# ArgoCD
+
+Argo CD is a continuous delivery tool for Kubernetes that is based on the GitOps methodology. It is used to automate the deployment and management of cloud-native applications by continuously synchronizing the desired application state with the actual application state in the production environment.
+
+In an Argo CD workflow, changes to the application are made by committing code or configuration changes to a Git repository. Argo CD monitors the repository and automatically deploys the changes to the production environment using a continuous delivery pipeline. The pipeline is triggered by changes to the Git repository and is responsible for building, testing, and deploying the changes to the production environment.
+
+Argo CD is designed to be a simple and efficient way to manage cloud-native applications, as it allows developers to make changes to the system using familiar tools and processes and it provides a clear and auditable history of all changes to the system. It is often used in conjunction with tools such as Helm to automate the deployment and management of cloud-native applications.
+
+Free Content
+Argo CD - Argo Project
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/101-flux-cd.md b/src/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/101-flux-cd.md
new file mode 100644
index 000000000..6f8fdcc51
--- /dev/null
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/101-flux-cd.md
@@ -0,0 +1,10 @@
+# Flux CD
+
+Flux CD is a continuous delivery tool for Kubernetes that is based on the GitOps methodology. It is used to automate the deployment and management of cloud-native applications by continuously synchronizing the desired application state with the actual application state in the production environment.
+
+In a Flux CD workflow, changes to the application are made by committing code or configuration changes to a Git repository. Flux CD monitors the repository and automatically deploys the changes to the production environment using a continuous delivery pipeline. The pipeline is triggered by changes to the Git repository and is responsible for building, testing, and deploying the changes to the production environment.
+
+Flux CD is designed to be a simple and efficient way to manage cloud-native applications, as it allows developers to make changes to the system using familiar tools and processes and it provides a clear and auditable history of all changes to the system. It is often used in conjunction with tools such as Helm to automate the deployment and management of cloud-native applications.
+
+Free Content
+Flux CD Docs
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/readme.md b/src/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/readme.md
new file mode 100644
index 000000000..b4027ff03
--- /dev/null
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/readme.md
@@ -0,0 +1,10 @@
+# GitOps
+
+GitOps is a methodology for managing cloud-native applications and infrastructure using Git as the source of truth. It is based on the idea that all changes to the system, whether they are related to code, configuration, or infrastructure, should be made using Git and that Git should be used to automate the deployment and management of those changes.
+
+In a GitOps workflow, changes to the system are made by committing code or configuration changes to a Git repository. These changes are then automatically deployed to the production environment using a continuous delivery pipeline. The pipeline is triggered by changes to the Git repository and is responsible for building, testing, and deploying the changes to the production environment.
+
+GitOps is designed to be a more efficient and agile way of managing cloud-native environments, as it allows developers to make changes to the system using familiar tools and processes and it provides a clear and auditable history of all changes to the system. It is often used in conjunction with tools such as Kubernetes and Helm to automate the deployment and management of cloud-native applications.
+
+Free Content
+Guide to GitOps
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/104-kubernetes.md b/src/roadmaps/devops/content/105-infrastructure-as-code/104-kubernetes.md
index 99dc36ec3..e08de302d 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/104-kubernetes.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/104-kubernetes.md
@@ -4,10 +4,9 @@ Kubernetes is an [open source](https://github.com/kubernetes/kubernetes) contain
The popularity of Kubernetes has made it an increasingly important skill for the DevOps Engineer and has triggered the creation of Platform teams across the industry. These Platform engineering teams often exist with the sole purpose of making Kubernetes approachable and usable for their product development colleagues.
-{% resources %}
- {% Official "https://kubernetes.io/", "Kubernetes Website" %}
- {% Blog "https://kubernetes.io/docs/home/", "Kubernetes Documentation" %}
- {% Blog "https://www.youtube.com/watch?v=s_o8dwzRlu4", "Kubernetes Crash Course for Absolute Beginners" %}
- {% Blog "https://thenewstack.io/primer-how-kubernetes-came-to-be-what-it-is-and-why-you-should-care/", "Primer: How Kubernetes Came to Be, What It Is, and Why You Should Care" %}
- {% Blog "https://thenewstack.io/kubernetes-an-overview/", "Kubernetes: An Overview" %}
-{% endresources %}
+Free Content
+Kubernetes Website
+Kubernetes Documentation
+Kubernetes Crash Course for Absolute Beginners
+Primer: How Kubernetes Came to Be, What It Is, and Why You Should Care
+Kubernetes: An Overview
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/104-mesos.md b/src/roadmaps/devops/content/105-infrastructure-as-code/104-mesos.md
deleted file mode 100644
index 08e0ce8cc..000000000
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/104-mesos.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Mesos
-
-Apache Mesos is an open-source project to manage computer clusters. It was developed at the University of California, Berkeley.
-
-{% resources %}
- {% Official "https://mesos.apache.org/", "Official Website" %}
- {% Blog "https://mesos.apache.org/documentation/latest/", "Apache Mesos Documentation" %}
- {% Blog "https://www.youtube.com/watch?v=ugmfP-QtgTA", "Getting Started with Apache Mesos" %}
-{% endresources %}
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/104-nomad.md b/src/roadmaps/devops/content/105-infrastructure-as-code/104-nomad.md
index b7e755e37..92d0a5a16 100644
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/104-nomad.md
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/104-nomad.md
@@ -2,8 +2,7 @@
[Nomad](https://github.com/hashicorp/nomad) is a simple and flexible scheduler and orchestrator to deploy and manage containers and non-containerized applications across on-prem and clouds at scale. Nomad runs as a single binary with a small resource footprint and supports a wide range of workloads beyond containers, including Windows, Java, VM, Docker, and more.
-{% resources %}
- {% Official "https://www.nomadproject.io/", "Nomad Website" %}
- {% Blog "https://www.nomadproject.io/docs", "Nomad Documentation" %}
- {% Blog "https://learn.hashicorp.com/nomad", "Nomad Tutorials" %}
-{% endresources %}
+Free Content
+Nomad Website
+Nomad Documentation
+Nomad Tutorials
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/100-vault.md b/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/100-vault.md
new file mode 100644
index 000000000..c0b19ce33
--- /dev/null
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/100-vault.md
@@ -0,0 +1,21 @@
+# Vault
+
+Vault is a tool for securely storing and managing secrets, such as passwords, API keys, and other sensitive information. It is developed and maintained by Hashicorp and is available as open-source software.
+
+
+Vault is designed to be highly scalable and flexible, with a wide range of features for managing secrets, including:
+
+* Encryption: Vault uses encryption algorithms and protocols, such as AES and RSA, to securely store secrets.
+* Access controls: Vault supports role-based access controls and multi-factor authentication to ensure that only authorized users or systems can access secrets.
+* Secret rotation: Vault supports automatic secret rotation, allowing secrets to be regularly rotated to reduce the risk of unauthorized access.
+* Auditing: Vault provides auditing capabilities, allowing administrators to track and monitor access to secrets.
+
+Vault is commonly used in DevOps environments to securely store and manage secrets, and it is often used in conjunction with other tools, such as Kubernetes and Helm, to automate the deployment and management of cloud-native applications.
+
+
+Free Content
+Vault - Official Website
+
+
+
+
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/101-sops.md b/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/101-sops.md
new file mode 100644
index 000000000..ccc29b9a7
--- /dev/null
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/101-sops.md
@@ -0,0 +1,15 @@
+# SOPS
+
+SOPS (Secrets OPerationS) is an open-source tool for securely storing and managing secrets, such as passwords, API keys, and other sensitive information. It is developed and maintained by Mozilla and is available as a command-line tool and as a library for integration into other applications.
+
+SOPS is designed to be easy to use and highly secure, with a range of features for managing secrets, including:
+
+* Encryption: SOPS uses encryption algorithms and protocols, such as AES and RSA, to securely store secrets.
+* Access controls: SOPS supports role-based access controls and multi-factor authentication to ensure that only authorized users or systems can access secrets.
+* Secret rotation: SOPS supports automatic secret rotation, allowing secrets to be regularly rotated to reduce the risk of unauthorized access.
+* Auditing: SOPS provides auditing capabilities, allowing administrators to track and monitor access to secrets.
+
+SOPS is commonly used in DevOps environments to securely store and manage secrets, and it is often used in conjunction with other tools, such as Kubernetes and Helm, to automate the deployment and management of cloud-native applications.
+
+Free Content
+Mozilla SOPS - Official Website
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/102-sealed-secrets.md b/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/102-sealed-secrets.md
new file mode 100644
index 000000000..aab82a9fa
--- /dev/null
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/102-sealed-secrets.md
@@ -0,0 +1,17 @@
+# Sealed Secrets
+
+Sealed Secrets is a tool for securely storing and managing secrets in a Kubernetes environment. It is developed and maintained by Bitnami and is available as open-source software.
+
+In a Sealed Secrets workflow, secrets are encrypted using a public key and stored as sealed secrets in a Git repository. The sealed secrets can then be deployed to a Kubernetes cluster, where they are decrypted using a private key and made available to the applications and infrastructure that need them.
+
+Sealed Secrets is designed to be highly secure and easy to use, with a range of features for managing secrets, including:
+
+* Encryption: Sealed Secrets uses encryption algorithms and protocols, such as RSA, to securely store secrets.
+* Access controls: Sealed Secrets supports role-based access controls and multi-factor authentication to ensure that only authorized users or systems can access secrets.
+* Secret rotation: Sealed Secrets supports automatic secret rotation, allowing secrets to be regularly rotated to reduce the risk of unauthorized access.
+* Auditing: Sealed Secrets provides auditing capabilities, allowing administrators to track and monitor access to secrets.
+
+Sealed Secrets is commonly used in Kubernetes environments to securely store and manage secrets, and it is often used in conjunction with other tools, such as Helm, to automate the deployment and management of cloud-native applications.
+
+Free Content
+Sealed Secrets - Bitnami
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/103-cloud-specific-tools.md b/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/103-cloud-specific-tools.md
new file mode 100644
index 000000000..71bfa3ec4
--- /dev/null
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/103-cloud-specific-tools.md
@@ -0,0 +1,14 @@
+# Cloud Specific Tools
+
+There are several cloud-specific tools for securely storing and managing secrets, such as:
+
+* AWS Secrets Manager: AWS Secrets Manager is a service provided by Amazon Web Services (AWS) for securely storing and managing secrets. It provides features such as automatic secret rotation and integration with other AWS services.
+* Google Cloud Secret Manager: Google Cloud Secret Manager is a service provided by Google Cloud for securely storing and managing secrets. It provides features such as automatic secret rotation and integration with other Google Cloud services.
+* Azure Key Vault: Azure Key Vault is a service provided by Microsoft Azure for securely storing and managing secrets. It provides features such as automatic secret rotation and integration with other Azure services.
+
+These cloud-specific tools are designed to be used in conjunction with cloud-based applications and infrastructure and are typically integrated with other cloud services, such as container orchestration platforms and continuous delivery pipelines.
+
+Free Content
+AWS Secrets Manager - Amazon Web Services
+Google Cloud Secret Manager - Google Cloud
+Azure Key Vault - Microsoft Azure
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/readme.md b/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/readme.md
new file mode 100644
index 000000000..68adf0cbf
--- /dev/null
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/readme.md
@@ -0,0 +1,17 @@
+# Secret Management
+
+Secret management is an important aspect of DevOps, as it involves securely storing and managing sensitive information, such as passwords, API keys, and other secrets, that are used by applications and infrastructure.
+
+There are several ways to manage secrets in a cloud environment:
+
+* Secret stores: A secret store is a specialized database or service that is designed to securely store and manage secrets. Examples of secret stores include Hashicorp Vault, AWS Secrets Manager, and Google Cloud Secret Manager.
+* Encryption: Secrets can be encrypted using a variety of encryption algorithms and protocols, such as AES, RSA, and PGP. Encrypted secrets can be stored in a variety of locations, such as a file system, a database, or a cloud storage service.
+* Access controls: Access to secrets should be restricted to only those users or systems that need them, using techniques such as role-based access controls, multi-factor authentication, and least privilege principles.
+
+Effective secret management is essential for maintaining the security and integrity of a DevOps environment. It is important to regularly review and update secret management practices to ensure that secrets are being stored and managed securely.
+
+Secrets management guide — approaches, open source tools, commercial products, challenges and questions
+Secret Management Architectures: Finding the balance between security and complexity
+
+
+
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/index.md b/src/roadmaps/devops/content/105-infrastructure-as-code/index.md
deleted file mode 100644
index c260d04cd..000000000
--- a/src/roadmaps/devops/content/105-infrastructure-as-code/index.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# Infrastructure as Code
-
-Sometimes referred to as IaC, this section refers to the techniques and tools used to define infrastructure, typically in a markup language like YAML or JSON. Infrastructure as code allows DevOps Engineers to use the same workflows used by software developers to version, roll back, and otherwise manage changes.
-
-The term Infrastructure as Code encompasses everything from bootstrapping to configuration to orchestration, and it is considered a best practice in the industry to manage all infrastructure as code. This technique precipitated the explosion in system complexity seen in modern DevOps organizations.
-
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=zWw2wuiKd5o", "What is Infrastructure as Code?" %}
- {% Blog "https://www.youtube.com/watch?v=POPP2WTJ8es", "What is Infrastructure as Code? Difference of Infrastructure as Code Tools" %}
- {% Blog "https://thenewstack.io/guis-cli-apis-learn-basic-terms-of-infrastructure-as-code/", "GUIs, CLI, APIs: Learn Basic Terms of Infrastructure-as-Code" %}
- {% Blog "https://www.novatec-gmbh.de/en/blog/understanding-infrastructure-as-code-iac-in-less-than-10-minutes/", "Understanding Infrastructure as Code (IaC) in less than 10 minutes" %}
-{% endresources %}
diff --git a/src/roadmaps/devops/content/105-infrastructure-as-code/readme.md b/src/roadmaps/devops/content/105-infrastructure-as-code/readme.md
new file mode 100644
index 000000000..8ce9a7a6a
--- /dev/null
+++ b/src/roadmaps/devops/content/105-infrastructure-as-code/readme.md
@@ -0,0 +1,11 @@
+# Infrastructure as Code
+
+Sometimes referred to as IaC, this section refers to the techniques and tools used to define infrastructure, typically in a markup language like YAML or JSON. Infrastructure as code allows DevOps Engineers to use the same workflows used by software developers to version, roll back, and otherwise manage changes.
+
+The term Infrastructure as Code encompasses everything from bootstrapping to configuration to orchestration, and it is considered a best practice in the industry to manage all infrastructure as code. This technique precipitated the explosion in system complexity seen in modern DevOps organizations.
+
+Free Content
+What is Infrastructure as Code?
+What is Infrastructure as Code? Difference of Infrastructure as Code Tools
+GUIs, CLI, APIs: Learn Basic Terms of Infrastructure-as-Code
+Understanding Infrastructure as Code (IaC) in less than 10 minutes
diff --git a/src/roadmaps/devops/content/106-ci-cd/100-gitlab-ci.md b/src/roadmaps/devops/content/106-ci-cd/100-gitlab-ci.md
index 7b729f440..b83ad52fa 100644
--- a/src/roadmaps/devops/content/106-ci-cd/100-gitlab-ci.md
+++ b/src/roadmaps/devops/content/106-ci-cd/100-gitlab-ci.md
@@ -3,10 +3,8 @@
GitLab offers a CI/CD service that can be used as a SaaS offering or self-managed using your own resources. You can use GitLab CI with any GitLab hosted repository, or any BitBucket Cloud or GitHub repository in the GitLab Premium self-managed, GitLab Premium SaaS and higher tiers.
-{% resources %}
- {% Official "https://gitlab.com/", "GitLab Website" %}
- {% Official "https://docs.gitlab.com/", "GitLab Documentation" %}
- {% Blog "https://docs.gitlab.com/ee/ci/quick_start/", "Get Started with GitLab CI" %}
- {% Blog "https://docs.gitlab.com/ee/tutorials/", "Learn GitLab Tutorials" %}
- {% Blog "https://docs.gitlab.com/ee/ci/examples/", "GitLab CI/CD Examples" %}
-{% endresources %}
+GitLab Website
+GitLab Documentation
+Get Started with GitLab CI
+Learn GitLab Tutorials
+GitLab CI/CD Examples
diff --git a/src/roadmaps/devops/content/106-ci-cd/101-jenkins.md b/src/roadmaps/devops/content/106-ci-cd/101-jenkins.md
index 6e6d15c48..46d7f7b3e 100644
--- a/src/roadmaps/devops/content/106-ci-cd/101-jenkins.md
+++ b/src/roadmaps/devops/content/106-ci-cd/101-jenkins.md
@@ -2,8 +2,6 @@
Jenkins is an open-source CI/CD automation server. Jenkins is primarily used for building projects, running tests, static code analysis and deployments.
-{% resources %}
- {% Official "https://www.jenkins.io/", "Jenkins Website" %}
- {% Official "https://www.jenkins.io/doc/book/", "Official Jenkins Handbook" %}
- {% Blog "https://www.jenkins.io/doc/pipeline/tour/getting-started/", "Jenkins Getting Started Guide" %}
-{% endresources %}
+Jenkins Website
+Official Jenkins Handbook
+Jenkins Getting Started Guide
diff --git a/src/roadmaps/devops/content/106-ci-cd/102-github-actions.md b/src/roadmaps/devops/content/106-ci-cd/102-github-actions.md
index e68e18b62..5e57ee213 100644
--- a/src/roadmaps/devops/content/106-ci-cd/102-github-actions.md
+++ b/src/roadmaps/devops/content/106-ci-cd/102-github-actions.md
@@ -2,9 +2,8 @@
Automate, customize, and execute your software development workflows right in your repository with GitHub Actions. You can discover, create, and share actions to perform any job you'd like, including CI/CD, and combine actions in a completely customized workflow.
-{% resources %}
- {% Blog "https://docs.github.com/en/actions", "GitHub Actions Documentation" %}
- {% Blog "https://docs.github.com/en/actions/learn-github-actions", "Learn GitHub Actions" %}
- {% Blog "https://youtu.be/cP0I9w2coGU", "GitHub Actions - Supercharge your GitHub Flow" %}
- {% Blog "https://www.youtube.com/watch?v=nyKZTKQS_EQ", "Automate your Workflow with GitHub Actions" %}
-{% endresources %}
+Free Content
+GitHub Actions Documentation
+Learn GitHub Actions
+GitHub Actions - Supercharge your GitHub Flow
+Automate your Workflow with GitHub Actions
diff --git a/src/roadmaps/devops/content/106-ci-cd/103-travis-ci.md b/src/roadmaps/devops/content/106-ci-cd/103-travis-ci.md
index 4d6ef9821..d22a163ca 100644
--- a/src/roadmaps/devops/content/106-ci-cd/103-travis-ci.md
+++ b/src/roadmaps/devops/content/106-ci-cd/103-travis-ci.md
@@ -2,8 +2,6 @@
Travis CI is a CI/CD service that is primarily used for building and testing projects that are hosted on BitBucket and GitHub. Open source projects can utilize Travis CI for free.
-{% resources %}
- {% Official "https://www.travis-ci.com/", "Travis CI Website" %}
- {% Official "https://docs.travis-ci.com/", "Travis CI Documentation" %}
- {% Blog "https://docs.travis-ci.com/user/tutorial/", "Travis CI Tutorial" %}
-{% endresources %}
+Travis CI Website
+Travis CI Documentation
+Travis CI Tutorial
diff --git a/src/roadmaps/devops/content/106-ci-cd/104-bamboo.md b/src/roadmaps/devops/content/106-ci-cd/104-bamboo.md
deleted file mode 100644
index f7421ff3e..000000000
--- a/src/roadmaps/devops/content/106-ci-cd/104-bamboo.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Bamboo
-
-Bamboo is a CI/CD service provided by Atlassian. Bamboo is primarily used for automating builds, tests and releases in a single workflow.
-
-{% resources %}
- {% Official "https://www.atlassian.com/software/bamboo", "Bamboo Website" %}
- {% Official "https://confluence.atlassian.com/bamboo/bamboo-documentation-289276551.html", "Official Documentation" %}
- {% Blog "https://confluence.atlassian.com/bamboo/getting-started-with-bamboo-289277283.html", "Bamboo Getting Started Guide" %}
-{% endresources %}
diff --git a/src/roadmaps/devops/content/106-ci-cd/105-teamcity.md b/src/roadmaps/devops/content/106-ci-cd/105-teamcity.md
index c9fbfc048..11938e09f 100644
--- a/src/roadmaps/devops/content/106-ci-cd/105-teamcity.md
+++ b/src/roadmaps/devops/content/106-ci-cd/105-teamcity.md
@@ -2,9 +2,7 @@
TeamCity is a CI/CD service provided by JetBrains. TeamCity can be used as a SaaS offering or self-managed using your own resources.
-{% resources %}
- {% Official "https://www.jetbrains.com/teamcity/", "TeamCity Website" %}
- {% Official "https://www.jetbrains.com/help/teamcity/teamcity-documentation.html", "Official Documentation" %}
- {% Blog "https://www.jetbrains.com/teamcity/tutorials/", "TeamCity Tutorials" %}
- {% Blog "https://www.jetbrains.com/teamcity/learn/", "TeamCity Learning Portal" %}
-{% endresources %}
+TeamCity Website
+Official Documentation
+TeamCity Tutorials
+TeamCity Learning Portal
diff --git a/src/roadmaps/devops/content/106-ci-cd/106-azure-devops-services.md b/src/roadmaps/devops/content/106-ci-cd/106-azure-devops-services.md
index 51dbd83fc..99b1377e5 100644
--- a/src/roadmaps/devops/content/106-ci-cd/106-azure-devops-services.md
+++ b/src/roadmaps/devops/content/106-ci-cd/106-azure-devops-services.md
@@ -2,8 +2,6 @@
Azure DevOps is developed by Microsoft as a full scale application lifecycle management and CI/CD service. Azure DevOps provides developer services for allowing teams to plan work, collaborate on code development, and build and deploy applications.
-{% resources %}
- {% Official "https://azure.microsoft.com/en-us/services/devops/#overview", "Azure DevOps Website" %}
- {% Official "https://docs.microsoft.com/en-us/azure/devops/?view=azure-devops&viewFallbackFrom=vsts", "Official Documentation" %}
- {% Blog "https://docs.microsoft.com/en-us/azure/devops/user-guide/sign-up-invite-teammates?view=azure-devops", "Azure DevOps Getting Started Guide" %}
-{% endresources %}
+Azure DevOps Website
+Official Documentation
+Azure DevOps Getting Started Guide
diff --git a/src/roadmaps/devops/content/106-ci-cd/107-circle-ci.md b/src/roadmaps/devops/content/106-ci-cd/107-circle-ci.md
index a8a7bd343..dc0d9ee2c 100644
--- a/src/roadmaps/devops/content/106-ci-cd/107-circle-ci.md
+++ b/src/roadmaps/devops/content/106-ci-cd/107-circle-ci.md
@@ -2,8 +2,6 @@
CircleCI is a CI/CD service that can be integrated with GitHub, BitBucket and GitLab repositories. The service that can be used as a SaaS offering or self-managed using your own resources.
-{% resources %}
- {% Official "https://circleci.com/", "CircleCI Website" %}
- {% Official "https://circleci.com/docs", "CircleCI Documentation" %}
- {% Blog "https://circleci.com/docs/config-intro", "Configuration Tutorial" %}
-{% endresources %}
+CircleCI Website
+CircleCI Documentation
+Configuration Tutorial
diff --git a/src/roadmaps/devops/content/106-ci-cd/108-drone.md b/src/roadmaps/devops/content/106-ci-cd/108-drone.md
index 273f418ce..1cb40cd86 100644
--- a/src/roadmaps/devops/content/106-ci-cd/108-drone.md
+++ b/src/roadmaps/devops/content/106-ci-cd/108-drone.md
@@ -2,8 +2,6 @@
Drone is a CI/CD service offering by [Harness](https://harness.io/). Each build runs on an isolated Docker container, and Drone integrates with many popular source code management repositories like GitHub, BitBucket and GitLab
-{% resources %}
- {% Official "https://www.drone.io/", "Drone Website" %}
- {% Official "https://docs.drone.io/", "Official Documentation" %}
- {% Blog "https://docs.drone.io/server/overview/", "Drone Getting Started Guide" %}
-{% endresources %}
+Drone Website
+Official Documentation
+Drone Getting Started Guide
diff --git a/src/roadmaps/devops/content/106-ci-cd/index.md b/src/roadmaps/devops/content/106-ci-cd/readme.md
similarity index 56%
rename from src/roadmaps/devops/content/106-ci-cd/index.md
rename to src/roadmaps/devops/content/106-ci-cd/readme.md
index 34e96ac2c..5e32498ba 100644
--- a/src/roadmaps/devops/content/106-ci-cd/index.md
+++ b/src/roadmaps/devops/content/106-ci-cd/readme.md
@@ -4,9 +4,7 @@ CI/CD is a method to frequently deliver apps to customers by introducing automat
Specifically, CI/CD introduces ongoing automation and continuous monitoring throughout the lifecycle of apps, from integration and testing phases to delivery and deployment. Taken together, these connected practices are often referred to as a "CI/CD pipeline" and are supported by development and operations teams working together in an agile way with either a DevOps or site reliability engineering (SRE) approach.
-{% resources %}
- {% Blog "https://www.atlassian.com/continuous-delivery/principles/continuous-integration-vs-delivery-vs-deployment", "CI vs CD" %}
- {% Blog "https://www.redhat.com/en/topics/devops/what-is-ci-cd", "What is CI/CD?" %}
- {% Blog "https://semaphoreci.com/blog/cicd-pipeline", "CI/CD Pipeline: A Gentle Introduction" %}
- {% Blog "https://www.youtube.com/watch?v=scEDHsr3APg", "DevOps CI/CD Explained in 100 Seconds" %}
-{% endresources %}
+CI vs CD
+What is CI/CD?
+CI/CD Pipeline: A Gentle Introduction
+DevOps CI/CD Explained in 100 Seconds
diff --git a/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/100-prometheus.md b/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/100-prometheus.md
index a0b06641e..4bae103c0 100644
--- a/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/100-prometheus.md
+++ b/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/100-prometheus.md
@@ -2,8 +2,6 @@
Prometheus is a free software application used for event monitoring and alerting. It records real-time metrics in a time series database built using a HTTP pull model, with flexible queries and real-time alerting.
-{% resources %}
- {% Official "https://prometheus.io/", "Prometheus Website" %}
- {% Official "https://prometheus.io/docs/introduction/overview/", "Official Documentation" %}
- {% Blog "https://prometheus.io/docs/tutorials/getting_started/", "Getting Started with Prometheus" %}
-{% endresources %}
+Prometheus Website
+Official Documentation
+Getting Started with Prometheus
diff --git a/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/101-nagios.md b/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/101-nagios.md
index 283c21d4e..c74c953cb 100644
--- a/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/101-nagios.md
+++ b/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/101-nagios.md
@@ -2,8 +2,7 @@
Nagios is a powerful tool that provides you with instant awareness of your organization’s mission-critical IT infrastructure. Nagios allows you to detect and repair problems and mitigate future issues before they affect end-users and customers.
-{% resources %}
- {% Blog "https://www.nagios.org/", "Nagios Website" %}
- {% Blog "https://www.nagios.org/documentation/", "Official Documentation" %}
- {% Blog "https://support.nagios.com/kb/", "Nagios Support Knowledge Base" %}
-{% endresources %}
+Free Content
+Nagios Website
+Official Documentation
+Nagios Support Knowledge Base
diff --git a/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-datadog.md b/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-datadog.md
index aee0202a6..16818bd1b 100644
--- a/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-datadog.md
+++ b/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-datadog.md
@@ -2,7 +2,5 @@
Datadog is a monitoring and analytics platform for large-scale applications. It encompasses infrastructure monitoring, application performance monitoring, log management, and user-experience monitoring. Datadog aggregates data across your entire stack with 400+ integrations for troubleshooting, alerting, and graphing.
-{% resources %}
- {% Official "https://www.datadoghq.com/", "Datadog Website" %}
- {% Official "https://docs.datadoghq.com/", "Official Documentation" %}
-{% endresources %}
+Datadog Website
+Official Documentation
diff --git a/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-grafana.md b/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-grafana.md
index 998c6c138..f2e84d2d3 100644
--- a/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-grafana.md
+++ b/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-grafana.md
@@ -2,9 +2,8 @@
Grafana is the open-source platform for monitoring and observability. It allows you to query, visualize, alert on and understand your metrics no matter where they are stored.
-{% resources %}
- {% Blog "https://grafana.com/", "Grafana Website" %}
- {% Blog "https://grafana.com/docs/", "Grafana Official Documentation" %}
- {% Blog "https://community.grafana.com/", "Grafana Community" %}
- {% Course "https://grafana.com/videos/", "Grafana Webinars and Videos" %}
-{% endresources %}
+Free Content
+Grafana Website
+Grafana Official Documentation
+Grafana Community
+Grafana Webinars and Videos
diff --git a/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-monit.md b/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-monit.md
index a32238eb4..d98ca8ae8 100644
--- a/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-monit.md
+++ b/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-monit.md
@@ -6,8 +6,7 @@ Monit has the ability to start a process if it is not running, restart a process
With Monit, you can able to monitor remote hosts’ TCP/IP port, server protocols, and ping. Monit keeps its own log file and alerts about any critical error conditions and recovery status.
-{% resources %}
- {% Blog "https://mmonit.com/monit/", "Monit Website" %}
- {% Blog "https://mmonit.com/monit/documentation/monit.html", "Monit Official Documentation" %}
- {% Blog "https://www.tecmint.com/monit-linux-services-monitoring/", "Monit Tutorial" %}
-{% endresources %}
+Free Content
+Monit Website
+Monit Official Documentation
+Monit Tutorial
diff --git a/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-zabbix.md b/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-zabbix.md
index 77581021c..c6fa08245 100644
--- a/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-zabbix.md
+++ b/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-zabbix.md
@@ -2,8 +2,7 @@
Zabbix is an enterprise-class open source monitoring solution for network monitoring and application monitoring of millions of metrics.
-{% resources %}
- {% Official "https://www.zabbix.com/", "Zabbix Website" %}
- {% Blog "https://www.zabbix.com/manuals", "Official Documentation" %}
- {% Blog "https://www.zabbix.com/roadmap", "Zabbix Roadmap" %}
-{% endresources %}
+Free Content
+Zabbix Website
+Official Documentation
+Zabbix Roadmap
diff --git a/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/index.md b/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/readme.md
similarity index 56%
rename from src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/index.md
rename to src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/readme.md
index 2922e2643..32178cdac 100644
--- a/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/index.md
+++ b/src/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/readme.md
@@ -4,7 +4,5 @@ Monitoring refers to the practice of making the performance and status of infras
This is a very vendor-heavy space - use caution when studying materials exclusively from a given product or project, as there are many conflicting opinions and strategies in use. There is no single solution for the most substantially complex internet-facing applications, so understanding the pros and cons of these tools will be useful in helping you plan how to monitor a system for a given goal.
-{% resources %}
- {% Blog "https://thenewstack.io/best-practices-to-optimize-infrastructure-monitoring-within-devops-teams/", "Best Practices to Optimize Infrastructure Monitoring within DevOps Teams" %}
- {% Blog "https://thenewstack.io/seven-steps-to-effective-cloud-native-infrastructure-monitoring/", "Seven Steps to Effective Cloud Native Infrastructure Monitoring" %}
-{% endresources %}
+Best Practices to Optimize Infrastructure Monitoring within DevOps Teams
+Seven Steps to Effective Cloud Native Infrastructure Monitoring
diff --git a/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/100-jaeger.md b/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/100-jaeger.md
index 64ffbb6ed..8409d73a8 100644
--- a/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/100-jaeger.md
+++ b/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/100-jaeger.md
@@ -2,7 +2,6 @@
Jaeger is an open source, end-to-end distributed tracing system that enables us to monitor and troubleshoot transactions in complex distributed systems.
-{% resources %}
- {% Blog "https://www.jaegertracing.io/", "Jaeger Website" %}
- {% Blog "https://www.jaegertracing.io/docs/1.37/", "Official Documentation" %}
-{% endresources %}
+Free Content
+Jaeger Website
+Official Documentation
diff --git a/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/101-new-relic.md b/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/101-new-relic.md
index da1f3c83b..27da98286 100644
--- a/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/101-new-relic.md
+++ b/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/101-new-relic.md
@@ -2,8 +2,7 @@
New Relic is where dev, ops, security and business teams solve software–performance problems with data.
-{% resources %}
- {% Blog "https://newrelic.com/", "New Relic Website" %}
- {% Blog "https://docs.newrelic.com/", "Official Documentation" %}
- {% Blog "https://developer.newrelic.com/", "New Relic Developer Hub" %}
-{% endresources %}
+Free Content
+New Relic Website
+Official Documentation
+New Relic Developer Hub
diff --git a/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/102-app-dynamics.md b/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/102-app-dynamics.md
index 7c968aecb..06745bcf4 100644
--- a/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/102-app-dynamics.md
+++ b/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/102-app-dynamics.md
@@ -2,7 +2,6 @@
AppDynamics is a full-stack application performance management (APM) and IT operations analytics (ITOA) company based in San Francisco. The company focuses on managing the performance and availability of applications across cloud computing environments, IT infrastructure, network architecture, digital user experience design, application security threat detection, observability, and data centers.
-{% resources %}
- {% Blog "https://www.appdynamics.com/", "AppDynamics Website" %}
- {% Blog "https://www.appdynamics.com/resources", "Official Resources" %}
-{% endresources %}
+Free Content
+AppDynamics Website
+Official Resources
diff --git a/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/103-instana.md b/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/103-instana.md
index 18d94e084..79a94e7e0 100644
--- a/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/103-instana.md
+++ b/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/103-instana.md
@@ -2,7 +2,6 @@
Instana is particularly used in monitoring and managing the performance of software used in microservice architectures, and permits 3D visualisation of performance through graphs generated using machine learning algorithms, with notifications regarding performance also generated automatically. Instana's Application Performance Monitoring (APM) tool of the same name is especially purposed for monitoring software used in so-called "container orchestration" (a modular method of providing a software service).
-{% resources %}
- {% Blog "https://www.instana.com/", "Instana Website" %}
- {% Blog "https://www.instana.com/resources/", "Official Resources(White Papers and Ebooks) " %}
-{% endresources %}
+Free Content
+Instana Website
+Official Resources(White Papers and Ebooks)
diff --git a/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/104-open-telemetry.md b/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/104-open-telemetry.md
index 3ffe44a7e..80eb58472 100644
--- a/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/104-open-telemetry.md
+++ b/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/104-open-telemetry.md
@@ -2,7 +2,6 @@
OpenTelemetry is a collection of tools, APIs, and SDKs. Use it to instrument, generate, collect, and export telemetry data (metrics, logs, and traces) to help you analyze your software’s performance and behavior.
-{% resources %}
- {% Blog "https://opentelemetry.io/", "OpenTelemetry Website" %}
- {% Blog "https://opentelemetry.io/docs/", "Official Documentation" %}
-{% endresources %}
+Free Content
+OpenTelemetry Website
+Official Documentation
diff --git a/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/index.md b/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/readme.md
similarity index 50%
rename from src/roadmaps/devops/content/107-monitoring/101-application-monitoring/index.md
rename to src/roadmaps/devops/content/107-monitoring/101-application-monitoring/readme.md
index 8f102beeb..cf73d092e 100644
--- a/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/index.md
+++ b/src/roadmaps/devops/content/107-monitoring/101-application-monitoring/readme.md
@@ -2,7 +2,5 @@
Application monitoring refers to the practice of making the status and performance of a given *application* visible. This may include details such as stacktraces, error logs, and the line of code implicated in a given failure. When combined with Infrastructure monitoring, this can provide a complete picture of what is happening in your system, and why.
-{% resources %}
- {% Blog "https://thenewstack.io/applying-basic-vs-advanced-monitoring-techniques/", "Applying Basic vs. Advanced Monitoring Techniques" %}
- {% Blog "https://thenewstack.io/why-legacy-apps-need-your-monitoring-love-too/", "Why Legacy Apps Need Your Monitoring Love, Too" %}
-{% endresources %}
+Applying Basic vs. Advanced Monitoring Techniques
+Why Legacy Apps Need Your Monitoring Love, Too
diff --git a/src/roadmaps/devops/content/107-monitoring/102-logs-management/100-elastic-stack.md b/src/roadmaps/devops/content/107-monitoring/102-logs-management/100-elastic-stack.md
index 0495db8ca..d520c4602 100644
--- a/src/roadmaps/devops/content/107-monitoring/102-logs-management/100-elastic-stack.md
+++ b/src/roadmaps/devops/content/107-monitoring/102-logs-management/100-elastic-stack.md
@@ -6,9 +6,8 @@ Elastic Stack is a group of open source products comprised of Elasticsearch, Kib
* `Logstash/fluentd` - Data processing pipeline
* `Kibana` - Dashboard to visualize data
-{% resources %}
- {% Official "https://www.elastic.co/elastic-stack/", "Elastic Stack Website" %}
- {% Official "https://www.elastic.co/guide/index.html", "Official Docs" %}
- {% Blog "https://www.elastic.co/elastic-stack/features", "Elastic Stack features" %}
- {% Blog "https://logz.io/blog/fluentd-logstash/", "Logstash vs Fluentd" %}
-{% endresources %}
+Free Content
+Elastic Stack Website
+Official Docs
+Elastic Stack features
+Logstash vs Fluentd
diff --git a/src/roadmaps/devops/content/107-monitoring/102-logs-management/101-graylog.md b/src/roadmaps/devops/content/107-monitoring/102-logs-management/101-graylog.md
index 4426ed1a2..54691c57f 100644
--- a/src/roadmaps/devops/content/107-monitoring/102-logs-management/101-graylog.md
+++ b/src/roadmaps/devops/content/107-monitoring/102-logs-management/101-graylog.md
@@ -2,8 +2,7 @@
Graylog is a leading centralized log management solution for capturing, storing, and enabling real-time analysis of terabytes of machine data.
-{% resources %}
- {% Official "https://www.graylog.org/", "Graylog Website" %}
- {% Blog "https://docs.graylog.org/", "Official Documentation" %}
- {% Blog "https://www.graylog.org/resources-videos", "Product Videos" %}
-{% endresources %}
+Free Content
+Graylog Website
+Official Documentation
+Product Videos
diff --git a/src/roadmaps/devops/content/107-monitoring/102-logs-management/102-papertrail.md b/src/roadmaps/devops/content/107-monitoring/102-logs-management/102-papertrail.md
index e5fb45fdf..b19004c0f 100644
--- a/src/roadmaps/devops/content/107-monitoring/102-logs-management/102-papertrail.md
+++ b/src/roadmaps/devops/content/107-monitoring/102-logs-management/102-papertrail.md
@@ -2,8 +2,7 @@
Papertrail is a leading centralized log management solution for capturing, storing, and enabling real-time analysis of terabytes of machine data.
-{% resources %}
- {% Official "https://www.papertrail.com/", "Papertrail Website" %}
- {% Blog "https://www.papertrail.com/solution/guides/", "Official Guides" %}
- {% Blog "https://www.papertrail.com/blog/", "Official Blog" %}
-{% endresources %}
+Free Content
+Papertrail Website
+Official Guides
+Official Blog
diff --git a/src/roadmaps/devops/content/107-monitoring/102-logs-management/102-splunk.md b/src/roadmaps/devops/content/107-monitoring/102-logs-management/102-splunk.md
index 97c4a7b04..d70a87f1c 100644
--- a/src/roadmaps/devops/content/107-monitoring/102-logs-management/102-splunk.md
+++ b/src/roadmaps/devops/content/107-monitoring/102-logs-management/102-splunk.md
@@ -2,8 +2,7 @@
The Splunk platform removes the barriers between data and action, empowering observability, IT and security teams to ensure their organizations are secure, resilient and innovative.
-{% resources %}
- {% Blog "https://www.splunk.com/", "Splunk Website" %}
- {% Blog "https://docs.splunk.com/Documentation", "Official Documentation" %}
- {% Blog "https://www.splunk.com/en_us/resources/videos.html", "Splunk Videos" %}
-{% endresources %}
+Free Content
+Splunk Website
+Official Documentation
+Splunk Videos
diff --git a/src/roadmaps/devops/content/107-monitoring/102-logs-management/103-loki.md b/src/roadmaps/devops/content/107-monitoring/102-logs-management/103-loki.md
index 12cda3f92..bdec0760c 100644
--- a/src/roadmaps/devops/content/107-monitoring/102-logs-management/103-loki.md
+++ b/src/roadmaps/devops/content/107-monitoring/102-logs-management/103-loki.md
@@ -2,7 +2,6 @@
Loki is a horizontally scalable, highly available, multi-tenant log aggregation system inspired by Prometheus. It is designed to be very cost-effective and easy to operate. It does not index the contents of the logs, but rather a set of labels for each log stream.
-{% resources %}
- {% Blog "https://grafana.com/oss/loki/", "Loki Website" %}
- {% Blog "https://grafana.com/docs/loki/latest/?pg=oss-loki&plcmt=quick-links", "Official Documentation" %}
-{% endresources %}
+Free Content
+Loki Website
+Official Documentation
diff --git a/src/roadmaps/devops/content/107-monitoring/102-logs-management/index.md b/src/roadmaps/devops/content/107-monitoring/102-logs-management/index.md
deleted file mode 100644
index 71d74b233..000000000
--- a/src/roadmaps/devops/content/107-monitoring/102-logs-management/index.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Logs Management
-
-Log management is the process of handling log events generated by all software applications and infrastructure on which they run. It involves log collection, aggregation, parsing, storage, analysis, search, archiving, and disposal, with the ultimate goal of using the data for troubleshooting and gaining business insights, while also ensuring the compliance and security of applications and infrastructure.
-
-{% resources %}
- {% Blog "https://sematext.com/guides/log-management", "Introduction to Logs Management" %}
- {% Blog "https://devops.com/log-management-what-devops-teams-need-to-know/", "Log Management: What DevOps Teams Need to Know" %}
- {% Blog "https://thenewstack.io/logging-for-kubernetes-what-to-log-and-how-to-log-it/", "Logging for Kubernetes: What to Log and How to Log It" %}
-{% endresources %}
diff --git a/src/roadmaps/devops/content/107-monitoring/102-logs-management/readme.md b/src/roadmaps/devops/content/107-monitoring/102-logs-management/readme.md
new file mode 100644
index 000000000..87a72010a
--- /dev/null
+++ b/src/roadmaps/devops/content/107-monitoring/102-logs-management/readme.md
@@ -0,0 +1,7 @@
+# Logs Management
+
+Log management is the process of handling log events generated by all software applications and infrastructure on which they run. It involves log collection, aggregation, parsing, storage, analysis, search, archiving, and disposal, with the ultimate goal of using the data for troubleshooting and gaining business insights, while also ensuring the compliance and security of applications and infrastructure.
+
+Introduction to Logs Management
+Log Management: What DevOps Teams Need to Know
+Logging for Kubernetes: What to Log and How to Log It
diff --git a/src/roadmaps/devops/content/107-monitoring/index.md b/src/roadmaps/devops/content/107-monitoring/readme.md
similarity index 55%
rename from src/roadmaps/devops/content/107-monitoring/index.md
rename to src/roadmaps/devops/content/107-monitoring/readme.md
index b1ae00ab6..3416ac147 100644
--- a/src/roadmaps/devops/content/107-monitoring/index.md
+++ b/src/roadmaps/devops/content/107-monitoring/readme.md
@@ -2,7 +2,5 @@
DevOps monitoring entails overseeing the entire development process from planning, development, integration and testing, deployment, and operations. It involves a complete and real-time view of the status of applications, services, and infrastructure in the production environment. Features such as real-time streaming, historical replay, and visualizations are critical components of application and service monitoring.
-{% resources %}
- {% Blog "https://www.atlassian.com/devops/devops-tools/devops-monitoring", "DevOps Monitoring" %}
- {% Blog "https://thenewstack.io/the-hows-whys-and-whats-of-monitoring-microservices/", "The Hows, Whys and Whats of Monitoring Microservices" %}
-{% endresources %}
+DevOps Monitoring
+The Hows, Whys and Whats of Monitoring Microservices
diff --git a/src/roadmaps/devops/content/108-cloud-providers/100-aws.md b/src/roadmaps/devops/content/108-cloud-providers/100-aws.md
index 67f09256f..e6e29a875 100644
--- a/src/roadmaps/devops/content/108-cloud-providers/100-aws.md
+++ b/src/roadmaps/devops/content/108-cloud-providers/100-aws.md
@@ -4,14 +4,13 @@ Amazon Web Services has been the market leading cloud computing platform since 2
AWS service is an online platform that provides scalable and cost-effectove cloud computing solutions. It is broadly adopted cloud platform that offers several on-demand operations like compute power, database storage, content delivery and so on.
-{% resources %}
- {% Official "https://aws.amazon.com/", "AWS Website" %}
- {% Official "https://docs.aws.amazon.com/", "AWS Documentation" %}
- {% Blog "https://portal.aws.amazon.com/billing/signup", "Sign up for AWS" %}
- {% Blog "https://d1.awsstatic.com/training-and-certification/ramp-up_guides/Ramp-Up_Guide_CloudPractitioner.pdf", "AWS Ramp Up Guide" %}
- {% Blog "https://explore.skillbuilder.aws/learn/course/external/view/elearning/134/aws-cloud-practitioner-essentials", "Cloud Practitioner Essentials" %}
- {% Blog "https://www.simplilearn.com/tutorials/aws-tutorial/what-is-aws", "AWS Guide by SimpliLearn" %}
- {% Blog "https://www.youtube.com/watch?v=k1RI5locZE4&t=129s", "AWS Tutorial for Beginners" %}
- {% Blog "https://www.coursera.org/learn/aws-cloud-technical-essentials?specialization=aws-devops", "AWS Course for Beginners" %}
- {% Blog "https://www.coursera.org/specializations/aws-devops?#courses", "DevOps on AWS Course " %}
-{% endresources %}
+Free Content
+AWS Website
+AWS Documentation
+Sign up for AWS
+AWS Ramp Up Guide
+Cloud Practitioner Essentials
+AWS Guide by SimpliLearn
+AWS Tutorial for Beginners
+AWS Course for Beginners
+DevOps on AWS Course
diff --git a/src/roadmaps/devops/content/108-cloud-providers/101-google-cloud.md b/src/roadmaps/devops/content/108-cloud-providers/101-google-cloud.md
index ad78ff2f7..354ed2132 100644
--- a/src/roadmaps/devops/content/108-cloud-providers/101-google-cloud.md
+++ b/src/roadmaps/devops/content/108-cloud-providers/101-google-cloud.md
@@ -2,11 +2,11 @@
Google Cloud is Google's cloud computing service offering, providing over 150 products/services to choose from. It consists of a set of physical assets, such as computers and hard disk drives, and virtual resources, such as virtual machines(VMs), that are contained in Google's data centers. It runs on the same infrastructure that Google uses internally for its end-user products, such as Search, Gmail, Google Drive, and YouTube.
-{% resources %}
- {% Official "https://cloud.google.com/", "Google Cloud Website" %}
- {% Official "https://cloud.google.com/docs", "Official Documentation" %}
- {% Blog "https://cloud.google.com/docs/get-started/", "Google Cloud Get Started Guide" %}
- {% Blog "https://www.coursera.org/professional-certificates/cloud-engineering-gcp#courses", "Coursera Complete Course for Google Cloud " %}
- {% Blog "https://www.youtube.com/watch?v=IUU6OR8yHCc", "Google Cloud by Edureka on You-Tube" %}
- {% Blog "https://thenewstack.io/5-tips-to-become-a-google-cloud-certified-professional-architect/", "5 Tips to Become a Google Cloud Certified Professional Architect" %}
-{% endresources %}
+Google Cloud Website
+Official Documentation
+Google Cloud Get Started Guide
+Coursera Complete Course for Google Cloud
+Google Cloud by Edureka on You-Tube
+
+
+5 Tips to Become a Google Cloud Certified Professional Architect
diff --git a/src/roadmaps/devops/content/108-cloud-providers/102-azure.md b/src/roadmaps/devops/content/108-cloud-providers/102-azure.md
index 1e69260dc..aa4df80ad 100644
--- a/src/roadmaps/devops/content/108-cloud-providers/102-azure.md
+++ b/src/roadmaps/devops/content/108-cloud-providers/102-azure.md
@@ -2,9 +2,7 @@
Microsoft Azure is a cloud computing service operated by Microsoft. Azure currently provides more than 200 products and cloud services.
-{% resources %}
- {% Official "https://azure.microsoft.com/en-us/", "Azure Website" %}
- {% Official "https://docs.microsoft.com/en-us/azure/", "Official Documentation" %}
- {% Blog "https://azure.microsoft.com/en-ca/get-started/#explore-azure", "Azure Get Started Guide" %}
- {% Blog "https://azure.microsoft.com/en-us/explore/", "Get to know Azure" %}
-{% endresources %}
+Azure Website
+Official Documentation
+Azure Get Started Guide
+Get to know Azure
diff --git a/src/roadmaps/devops/content/108-cloud-providers/103-heroku.md b/src/roadmaps/devops/content/108-cloud-providers/103-heroku.md
index 22974d302..b5b17b615 100644
--- a/src/roadmaps/devops/content/108-cloud-providers/103-heroku.md
+++ b/src/roadmaps/devops/content/108-cloud-providers/103-heroku.md
@@ -2,8 +2,6 @@
Heroku is a cloud platform as a service subsidiary of Salesforce. Heroku officially supports Node.js, Ruby, Java, PHP, Python, Go, Scala and Clojure, along with any language that runs on Linux via a third-party build pack.
-{% resources %}
- {% Official "https://www.heroku.com/", "Heroku Website" %}
- {% Official "https://devcenter.heroku.com/", "Official Documentation" %}
- {% Blog "https://devcenter.heroku.com/start", "Heroku Get Started Guide" %}
-{% endresources %}
+Heroku Website
+Official Documentation
+Heroku Get Started Guide
diff --git a/src/roadmaps/devops/content/108-cloud-providers/104-albaba-cloud.md b/src/roadmaps/devops/content/108-cloud-providers/104-albaba-cloud.md
index f8b2c574e..3aa874e0a 100644
--- a/src/roadmaps/devops/content/108-cloud-providers/104-albaba-cloud.md
+++ b/src/roadmaps/devops/content/108-cloud-providers/104-albaba-cloud.md
@@ -2,8 +2,6 @@
Alibaba Cloud is a cloud computing service, offering over 100 products and services with data centers in 24 regions and 74 availability zones around the world.
-{% resources %}
- {% Official "https://www.alibabacloud.com/", "Alibaba Cloud Website" %}
- {% Official "https://www.alibabacloud.com/help/en/", "Official Documentation" %}
- {% Blog "https://www.alibabacloud.com/getting-started", "Alibaba Cloud Getting Started Guide" %}
-{% endresources %}
+Alibaba Cloud Website
+Official Documentation
+Alibaba Cloud Getting Started Guide
diff --git a/src/roadmaps/devops/content/108-cloud-providers/104-digital-ocean.md b/src/roadmaps/devops/content/108-cloud-providers/104-digital-ocean.md
index d7ded80fb..8fe6aa95c 100644
--- a/src/roadmaps/devops/content/108-cloud-providers/104-digital-ocean.md
+++ b/src/roadmaps/devops/content/108-cloud-providers/104-digital-ocean.md
@@ -2,8 +2,6 @@
DigitalOcean is a cloud computing service offering products and services in Compute, Storage, Managed Databases, Containers & Images and Networking.
-{% resources %}
- {% Official "https://www.digitalocean.com/", "DigitalOcean Website" %}
- {% Official "https://docs.digitalocean.com/products/", "Official Documentation" %}
- {% Blog "https://docs.digitalocean.com/products/getting-started/", "DigitalOcean Get Started Guide" %}
-{% endresources %}
+DigitalOcean Website
+Official Documentation
+DigitalOcean Get Started Guide
diff --git a/src/roadmaps/devops/content/108-cloud-providers/105-linode.md b/src/roadmaps/devops/content/108-cloud-providers/105-linode.md
index e0abe4c8c..fd2f4d070 100644
--- a/src/roadmaps/devops/content/108-cloud-providers/105-linode.md
+++ b/src/roadmaps/devops/content/108-cloud-providers/105-linode.md
@@ -2,8 +2,6 @@
Linode is a cloud computing service owned by Akamai Technologies. Linode positions itself as an alternative to AWS, GCP and Azure by offering core services without complexity for most workloads.
-{% resources %}
- {% Official "https://www.linode.com/", "Linode Website" %}
- {% Official "https://www.linode.com/docs/", "Official Documentation" %}
- {% Blog "https://www.linode.com/docs/guides/getting-started/", "Linode Getting Started Guide" %}
-{% endresources %}
+Linode Website
+Official Documentation
+Linode Getting Started Guide
diff --git a/src/roadmaps/devops/content/108-cloud-providers/106-vultr.md b/src/roadmaps/devops/content/108-cloud-providers/106-vultr.md
index 787169e01..3cdd47b97 100644
--- a/src/roadmaps/devops/content/108-cloud-providers/106-vultr.md
+++ b/src/roadmaps/devops/content/108-cloud-providers/106-vultr.md
@@ -2,7 +2,5 @@
Vultr is an infrastructure focussed cloud computing service, available in 25 locations worldwide. Vultur compute offers 100% SSD and high performance Intel vCPUs.
-{% resources %}
- {% Official "https://www.vultr.com/", "Vultr Website" %}
- {% Official "https://www.vultr.com/docs/", "Official Documentation" %}
-{% endresources %}
+Vultr Website
+Official Documentation
diff --git a/src/roadmaps/devops/content/108-cloud-providers/108-IBM-Cloud.md b/src/roadmaps/devops/content/108-cloud-providers/108-IBM-Cloud.md
index 6cb8cbea3..ef2a99acb 100644
--- a/src/roadmaps/devops/content/108-cloud-providers/108-IBM-Cloud.md
+++ b/src/roadmaps/devops/content/108-cloud-providers/108-IBM-Cloud.md
@@ -2,13 +2,11 @@
IBM cloud computing is a set of cloud computing services that offers both platform as a service (PaaS) and infrastructure as a service (IaaS). IBM Cloud supports various languages and frameworks such as Go, Java™, Node.js, Python and Swift.
-{% resources %}
- {% Official "https://www.ibm.com/cloud", "IBM cloud" %}
- {% Official "https://cloud.ibm.com/docs", "IBM Cloud Documentation" %}
- {% Course "https://www.coursera.org/learn/ibm-cloud-essentials", "IBM Cloud Essentials" %}
- {% Course "https://www.ibm.com/training/cloud", "IBM Cloud Training" %}
- {% Blog "https://www.youtube.com/watch?v=HzugDzl2cfg", "Introduction to IBM Cloud" %}
- {% Blog "https://www.youtube.com/watch?v=Bsy6mhRc7ZA", "Developing in IBM Cloud" %}
- {% Blog "https://youtube.com/playlist?list=PLmesOgYt3nKCfsXqx-A5k1bP7t146U4rz", "IBM Cloud Foundation Skills Series" %}
- {% Blog "https://developer.ibm.com/components/cloud-ibm/tutorials/", "The Beginners Guide to IBM Cloud" %}
-{% endresources %}
+IBM cloud
+IBM Cloud Documentation
+IBM Cloud Essentials
+IBM Cloud Training
+Introduction to IBM Cloud
+Developing in IBM Cloud
+IBM Cloud Foundation Skills Series
+The Beginner's Guide to IBM Cloud
diff --git a/src/roadmaps/devops/content/108-cloud-providers/index.md b/src/roadmaps/devops/content/108-cloud-providers/readme.md
similarity index 53%
rename from src/roadmaps/devops/content/108-cloud-providers/index.md
rename to src/roadmaps/devops/content/108-cloud-providers/readme.md
index ed1220bcb..c76742355 100644
--- a/src/roadmaps/devops/content/108-cloud-providers/index.md
+++ b/src/roadmaps/devops/content/108-cloud-providers/readme.md
@@ -2,7 +2,6 @@
Cloud providers provide a layer of APIs to abstract infrastructure and provision it based on security and billing boundaries. The cloud runs on servers in data centers, but the abstractions cleverly give the appearance of interacting with a single "platform" or large application. The ability to quickly provision, configure and secure resources with cloud providers has been key to both the tremendous success, and complexity, of modern DevOps.
-{% resources %}
- {% Blog "https://www.techtarget.com/searchitchannel/definition/cloud-service-provider-cloud-provider", "Cloud service provider" %}
- {% Blog "https://www.redhat.com/en/topics/cloud-computing/what-are-cloud-providers", "What are Cloud Providers?" %}
-{% endresources %}
+Free Content
+Cloud service provider
+What are Cloud Providers?
diff --git a/src/roadmaps/devops/content/109-availability.md b/src/roadmaps/devops/content/109-availability.md
index 759ca4eb2..6cbcd1232 100644
--- a/src/roadmaps/devops/content/109-availability.md
+++ b/src/roadmaps/devops/content/109-availability.md
@@ -4,7 +4,6 @@ Availability is the percentage of time that a system is functional and working a
To achieve high levels of uptime, it is important to eliminate single points of failure so that a single device failure does not disrupt the entire service. High availability in the cloud is often achieved by creating clusters. Clusters are groups of devices (such as servers) that all have access to the same shared storage and function as one single server to provide uninterrupted availability. This way, if one server goes down, the others are able to pick up the load until it comes back online. Clusters can range from two servers to even multiple buildings of servers.
-{% resources %}
- {% Course "https://codster.io/en/blog/high-availability-in-the-cloud/", "How High Availability Works in the Cloud" %}
- {% Course "https://www.sqlservercentral.com/articles/cloud-computing-basics-achieving-high-availability-2", "Techniques for Achieving High Availability" %}
-{% endresources %}
+Free Content
+How High Availability Works in the Cloud
+Techniques for Achieving High Availability
diff --git a/src/roadmaps/devops/content/110-data-management.md b/src/roadmaps/devops/content/110-data-management.md
index d07ba3de9..8c4fa94fb 100644
--- a/src/roadmaps/devops/content/110-data-management.md
+++ b/src/roadmaps/devops/content/110-data-management.md
@@ -4,6 +4,5 @@ Data management is the key element of cloud applications, and influences most of
Additionally data should be protected at rest, in transit, and via authorized access mechanisms to maintain security assurances of confidentiality, integrity, and availability. Refer to the Azure Security Benchmark Data Protection Control for more information.
-{% resources %}
- {% Blog "https://docs.microsoft.com/en-us/azure/architecture/patterns/category/data-management", "Data management patterns" %}
-{% endresources %}
+Free Content
+Data management patterns
diff --git a/src/roadmaps/devops/content/111-design-and-implementation.md b/src/roadmaps/devops/content/111-design-and-implementation.md
index 2efb74b9f..21a6cc83a 100644
--- a/src/roadmaps/devops/content/111-design-and-implementation.md
+++ b/src/roadmaps/devops/content/111-design-and-implementation.md
@@ -3,6 +3,4 @@
Good design encompasses factors such as consistency and coherence in component design and deployment, maintainability to simplify administration and development, and reusability to allow components and subsystems to be used in other applications and in other scenarios. Decisions made during the design and implementation phase have a huge impact on the quality and the total cost of ownership of cloud hosted applications and services.
-{% resources %}
- {% Blog "https://docs.microsoft.com/en-us/azure/architecture/patterns/category/design-implementation", "Design and implementation patterns" %}
-{% endresources %}
+Design and implementation patterns
diff --git a/src/roadmaps/devops/content/112-management-and-monitoring.md b/src/roadmaps/devops/content/112-management-and-monitoring.md
index d5c44058d..d522bfd2e 100644
--- a/src/roadmaps/devops/content/112-management-and-monitoring.md
+++ b/src/roadmaps/devops/content/112-management-and-monitoring.md
@@ -2,6 +2,4 @@
DevOps management and monitoring entails overseeing the entire development process from planning, development, integration and testing, deployment, and operations. It involves a complete and real-time view of the status of applications, services, and infrastructure in the production environment. Features such as real-time streaming, historical replay, and visualizations are critical components of application and service monitoring.
-{% resources %}
- {% Blog "https://www.atlassian.com/devops/devops-tools/devops-monitoring", "Management and Monitoring Get Started Guide" %}
-{% endresources %}
\ No newline at end of file
+Management and Monitoring Get Started Guide
\ No newline at end of file
diff --git a/src/roadmaps/devops/content/readme.md b/src/roadmaps/devops/content/readme.md
new file mode 100644
index 000000000..4e768b56d
--- /dev/null
+++ b/src/roadmaps/devops/content/readme.md
@@ -0,0 +1 @@
+#
\ No newline at end of file
diff --git a/src/roadmaps/devops/devops.md b/src/roadmaps/devops/devops.md
index 10585dc8f..74e4fdc17 100644
--- a/src/roadmaps/devops/devops.md
+++ b/src/roadmaps/devops/devops.md
@@ -1,27 +1,21 @@
---
-jsonUrl: "/jsons/devops.json"
pdfUrl: "/pdfs/devops.pdf"
order: 3
featuredTitle: "DevOps"
-featuredDescription: "Step by step guide for DevOps or operations role in 2022"
+featuredDescription: "Step by step guide for DevOps or operations role in 2023"
title: "DevOps Roadmap"
-description: "Step by step guide for DevOps, SRE or any other Operations Role in 2022"
+description: "Step by step guide for DevOps, SRE or any other Operations Role in 2023"
hasTopics: true
dimensions:
width: 968
height: 2527.46
-sponsor:
- url: "https://www.stormforge.io/ebook/getting-started-kubernetes-resource-management-optimization/?utm_medium=referral&utm_source=roadmap-sh&utm_campaign=ebook_get-started-k8s-resource-mgmt"
- imageUrl: "https://i.imgur.com/uNJWl4L.png"
- title: "Free Kubernetes eBook"
- description: "Learn how to manage and optimize Kubernetes resources with this free eBook."
seo:
title: "DevOps Roadmap: Learn to become a DevOps Engineer or SRE"
description: "Community driven, articles, resources, guides, interview questions, quizzes for DevOps. Learn to become a modern DevOps engineer by following the steps, skills, resources and guides listed in this roadmap."
keywords:
- - "devops roadmap 2022"
- - "sre roadmap 2022"
- - "operations roadmap 2022"
+ - "devops roadmap 2023"
+ - "sre roadmap 2023"
+ - "operations roadmap 2023"
- "guide to becoming a devops engineer"
- "devops roadmap"
- "sre roadmap"
diff --git a/src/roadmaps/flutter/content/100-dart-basics/100-dart-pad.md b/src/roadmaps/flutter/content/100-dart-basics/100-dart-pad.md
index c22b9eca7..5ff8fee44 100644
--- a/src/roadmaps/flutter/content/100-dart-basics/100-dart-pad.md
+++ b/src/roadmaps/flutter/content/100-dart-basics/100-dart-pad.md
@@ -2,6 +2,5 @@
DartPad is an open source tool that lets you play with the Dart language in any modern browser.
-{% resources %}
- {% Official "https://dart.dev/tools/dartpad", "DartPad" %}
-{% endresources %}
+Free Content
+DartPad
diff --git a/src/roadmaps/flutter/content/100-dart-basics/101-variables.md b/src/roadmaps/flutter/content/100-dart-basics/101-variables.md
index f63a2879f..594f53a7a 100644
--- a/src/roadmaps/flutter/content/100-dart-basics/101-variables.md
+++ b/src/roadmaps/flutter/content/100-dart-basics/101-variables.md
@@ -1,5 +1,4 @@
# Variables
-{% resources %}
- {% Official "https://dart.dev/guides/language/language-tour#variables", "Variables" %}
-{% endresources %}
+Free Content
+Variables
diff --git a/src/roadmaps/flutter/content/100-dart-basics/102-built-in-types.md b/src/roadmaps/flutter/content/100-dart-basics/102-built-in-types.md
index 9a9df28ec..b2e9d978d 100644
--- a/src/roadmaps/flutter/content/100-dart-basics/102-built-in-types.md
+++ b/src/roadmaps/flutter/content/100-dart-basics/102-built-in-types.md
@@ -1,5 +1,4 @@
# Built in types
-{% resources %}
- {% Official "https://dart.dev/guides/language/language-tour#built-in-types", "Built-in types" %}
-{% endresources %}
+Free Content
+Built-in types
diff --git a/src/roadmaps/flutter/content/100-dart-basics/103-functions.md b/src/roadmaps/flutter/content/100-dart-basics/103-functions.md
index 64c43814c..0c9e3dd02 100644
--- a/src/roadmaps/flutter/content/100-dart-basics/103-functions.md
+++ b/src/roadmaps/flutter/content/100-dart-basics/103-functions.md
@@ -1,5 +1,4 @@
# Functions
-{% resources %}
- {% Official "https://dart.dev/guides/language/language-tour#functions", "Functions" %}
-{% endresources %}
+Free Content
+Functions
diff --git a/src/roadmaps/flutter/content/100-dart-basics/104-operators.md b/src/roadmaps/flutter/content/100-dart-basics/104-operators.md
index 7bcc3c625..23bbd664c 100644
--- a/src/roadmaps/flutter/content/100-dart-basics/104-operators.md
+++ b/src/roadmaps/flutter/content/100-dart-basics/104-operators.md
@@ -1,5 +1,4 @@
# Operators
-{% resources %}
- {% Official "https://dart.dev/guides/language/language-tour#operators", "Operators" %}
-{% endresources %}
+Free Content
+Operators
diff --git a/src/roadmaps/flutter/content/100-dart-basics/105-control-flow-statements.md b/src/roadmaps/flutter/content/100-dart-basics/105-control-flow-statements.md
index b590122de..f3e277fda 100644
--- a/src/roadmaps/flutter/content/100-dart-basics/105-control-flow-statements.md
+++ b/src/roadmaps/flutter/content/100-dart-basics/105-control-flow-statements.md
@@ -1,5 +1,4 @@
# Control flow statements
-{% resources %}
- {% Official "https://dart.dev/guides/language/language-tour#control-flow-statements", "Control flow statements" %}
-{% endresources %}
+Free Content
+Control flow statements
diff --git a/src/roadmaps/flutter/content/100-dart-basics/index.md b/src/roadmaps/flutter/content/100-dart-basics/index.md
deleted file mode 100644
index ccca08145..000000000
--- a/src/roadmaps/flutter/content/100-dart-basics/index.md
+++ /dev/null
@@ -1 +0,0 @@
-# Dart basics
\ No newline at end of file
diff --git a/src/roadmaps/flutter/content/100-dart-basics/readme.md b/src/roadmaps/flutter/content/100-dart-basics/readme.md
new file mode 100644
index 000000000..61ed92b2a
--- /dev/null
+++ b/src/roadmaps/flutter/content/100-dart-basics/readme.md
@@ -0,0 +1,11 @@
+# Dart Basics
+
+Dart is an open-source, general-purpose, object-oriented programming language with C-style syntax developed by Google in 2011. The purpose of Dart programming is to create a frontend user interfaces for the web and mobile apps.
+
+Free Content
+Dart Overview
+What is Dart Programming?
+Dart Tutorial
+About Dart
+What is Dart?
+Dart in 100 Seconds
diff --git a/src/roadmaps/flutter/content/101-setup-development-environment/100-flutter-cli.md b/src/roadmaps/flutter/content/101-setup-development-environment/100-flutter-cli.md
index 9be0d609c..6774d264a 100644
--- a/src/roadmaps/flutter/content/101-setup-development-environment/100-flutter-cli.md
+++ b/src/roadmaps/flutter/content/101-setup-development-environment/100-flutter-cli.md
@@ -2,6 +2,5 @@
The flutter command-line tool is how developers (or IDEs on behalf of developers) interact with Flutter.
-{% resources %}
- {% Official "https://docs.flutter.dev/reference/flutter-cli", "The Flutter command-line tool" %}
-{% endresources %}
+Free Content
+The Flutter command-line tool
diff --git a/src/roadmaps/flutter/content/101-setup-development-environment/101-ides/100-vs-code.md b/src/roadmaps/flutter/content/101-setup-development-environment/101-ides/100-vs-code.md
index 1a84a3845..9e72a04ac 100644
--- a/src/roadmaps/flutter/content/101-setup-development-environment/101-ides/100-vs-code.md
+++ b/src/roadmaps/flutter/content/101-setup-development-environment/101-ides/100-vs-code.md
@@ -1 +1,16 @@
-# Vs code
\ No newline at end of file
+# VS Code
+
+To use VS Code for Flutter development, you must install the Flutter and Dart plugins for VS Code. These plugins support Flutter-specific features such as syntax highlighting, debugging, and hot reloading.
+
+Here are the steps to set up VS Code for Flutter development:
+
+* Install VS Code from the official website: https://code.visualstudio.com/
+* Open VS Code and click the Extensions icon on the left-hand side of the window.
+* In the search box, type "Flutter" and press Enter. This will display a list of Flutter-related plugins.
+* Install the "Flutter" and "Dart" plugins by clicking the Install button next to each one.
+* Once the plugins are installed, you will need to restart VS Code for the changes to take effect.
+* To create a new Flutter project, click the File menu, then select New > New Project. This will open the New Project dialog box.
+* Select the Flutter application template, enter the project's name and location and click Create. This will create a new Flutter project in the specified location.
+* To run the project, open the command palette (Ctrl + Shift + P on Windows or Cmd + Shift + P on Mac) and type "flutter run". This will run the project on the default emulator or device.
+
+That's it! You should now be able to use VS Code for Flutter development.
diff --git a/src/roadmaps/flutter/content/101-setup-development-environment/101-ides/index.md b/src/roadmaps/flutter/content/101-setup-development-environment/101-ides/readme.md
similarity index 100%
rename from src/roadmaps/flutter/content/101-setup-development-environment/101-ides/index.md
rename to src/roadmaps/flutter/content/101-setup-development-environment/101-ides/readme.md
diff --git a/src/roadmaps/flutter/content/101-setup-development-environment/index.md b/src/roadmaps/flutter/content/101-setup-development-environment/readme.md
similarity index 100%
rename from src/roadmaps/flutter/content/101-setup-development-environment/index.md
rename to src/roadmaps/flutter/content/101-setup-development-environment/readme.md
diff --git a/src/roadmaps/flutter/content/102-widgets/100-stateless-widgets.md b/src/roadmaps/flutter/content/102-widgets/100-stateless-widgets.md
index 714d7fba3..648ddf2fb 100644
--- a/src/roadmaps/flutter/content/102-widgets/100-stateless-widgets.md
+++ b/src/roadmaps/flutter/content/102-widgets/100-stateless-widgets.md
@@ -2,6 +2,5 @@
A stateless widget never changes. Icon, IconButton, and Text are examples of stateless widgets.
-{% resources %}
- {% Official "https://api.flutter.dev/flutter/widgets/StatelessWidget-class.html", "StatelessWidget class" %}
-{% endresources %}
+Free Content
+StatelessWidget class
diff --git a/src/roadmaps/flutter/content/102-widgets/101-stateful-widgets.md b/src/roadmaps/flutter/content/102-widgets/101-stateful-widgets.md
index 4c7460878..1f7a72382 100644
--- a/src/roadmaps/flutter/content/102-widgets/101-stateful-widgets.md
+++ b/src/roadmaps/flutter/content/102-widgets/101-stateful-widgets.md
@@ -2,6 +2,5 @@
A stateful widget is dynamic: for example, it can change its appearance in response to events triggered by user interactions or when it receives data. Checkbox, Radio, Slider, InkWell, Form, and TextField are examples of stateful widgets.
-{% resources %}
- {% Official "https://api.flutter.dev/flutter/widgets/StatefulWidget-class.html", "StatefulWidget class" %}
-{% endresources %}
+Free Content
+StatefulWidget class
diff --git a/src/roadmaps/flutter/content/102-widgets/102-styled-widgets/100-material-widgets.md b/src/roadmaps/flutter/content/102-widgets/102-styled-widgets/100-material-widgets.md
index c202044ff..412df894b 100644
--- a/src/roadmaps/flutter/content/102-widgets/102-styled-widgets/100-material-widgets.md
+++ b/src/roadmaps/flutter/content/102-widgets/102-styled-widgets/100-material-widgets.md
@@ -2,6 +2,5 @@
Visual, behavioral, and motion-rich widgets implementing the Material Design guidelines.
-{% resources %}
- {% Official "https://docs.flutter.dev/development/ui/widgets/material", "Material Components widgets" %}
-{% endresources %}
+Free Content
+Material Components widgets
diff --git a/src/roadmaps/flutter/content/102-widgets/102-styled-widgets/101-cupertino-widgets.md b/src/roadmaps/flutter/content/102-widgets/102-styled-widgets/101-cupertino-widgets.md
index 811906e76..c4af94687 100644
--- a/src/roadmaps/flutter/content/102-widgets/102-styled-widgets/101-cupertino-widgets.md
+++ b/src/roadmaps/flutter/content/102-widgets/102-styled-widgets/101-cupertino-widgets.md
@@ -2,6 +2,5 @@
Beautiful and high-fidelity widgets for current iOS design language.
-{% resources %}
- {% Official "https://docs.flutter.dev/development/ui/widgets/cupertino", "Cupertino (iOS-style) widgets" %}
-{% endresources %}
+Free Content
+Cupertino (iOS-style) widgets
diff --git a/src/roadmaps/flutter/content/102-widgets/102-styled-widgets/index.md b/src/roadmaps/flutter/content/102-widgets/102-styled-widgets/readme.md
similarity index 100%
rename from src/roadmaps/flutter/content/102-widgets/102-styled-widgets/index.md
rename to src/roadmaps/flutter/content/102-widgets/102-styled-widgets/readme.md
diff --git a/src/roadmaps/flutter/content/102-widgets/index.md b/src/roadmaps/flutter/content/102-widgets/readme.md
similarity index 100%
rename from src/roadmaps/flutter/content/102-widgets/index.md
rename to src/roadmaps/flutter/content/102-widgets/readme.md
diff --git a/src/roadmaps/flutter/content/103-working-with-assets/100-fonts.md b/src/roadmaps/flutter/content/103-working-with-assets/100-fonts.md
index 51e38e27f..f4ccfb071 100644
--- a/src/roadmaps/flutter/content/103-working-with-assets/100-fonts.md
+++ b/src/roadmaps/flutter/content/103-working-with-assets/100-fonts.md
@@ -2,6 +2,5 @@
Flutter works with custom fonts and you can apply a custom font across an entire app or to individual widgets.
-{% resources %}
- {% Official "https://docs.flutter.dev/cookbook/design/fonts", "Use a custom font" %}
-{% endresources %}
+Free Content
+Use a custom font
diff --git a/src/roadmaps/flutter/content/103-working-with-assets/101-images.md b/src/roadmaps/flutter/content/103-working-with-assets/101-images.md
index 21f168f8e..bbb2be7b3 100644
--- a/src/roadmaps/flutter/content/103-working-with-assets/101-images.md
+++ b/src/roadmaps/flutter/content/103-working-with-assets/101-images.md
@@ -2,6 +2,5 @@
Apps can include both code and assets. Flutter uses the pubspec.yaml file, located at the root of your project, to identify assets required by an app.
-{% resources %}
- {% Official "https://docs.flutter.dev/development/ui/assets-and-images", "Adding assets and images" %}
-{% endresources %}
+Free Content
+Adding assets and images
diff --git a/src/roadmaps/flutter/content/103-working-with-assets/index.md b/src/roadmaps/flutter/content/103-working-with-assets/readme.md
similarity index 100%
rename from src/roadmaps/flutter/content/103-working-with-assets/index.md
rename to src/roadmaps/flutter/content/103-working-with-assets/readme.md
diff --git a/src/roadmaps/flutter/content/104-version-control-systems/index.md b/src/roadmaps/flutter/content/104-version-control-systems/readme.md
similarity index 100%
rename from src/roadmaps/flutter/content/104-version-control-systems/index.md
rename to src/roadmaps/flutter/content/104-version-control-systems/readme.md
diff --git a/src/roadmaps/flutter/content/105-repo-hosting-services/index.md b/src/roadmaps/flutter/content/105-repo-hosting-services/readme.md
similarity index 100%
rename from src/roadmaps/flutter/content/105-repo-hosting-services/index.md
rename to src/roadmaps/flutter/content/105-repo-hosting-services/readme.md
diff --git a/src/roadmaps/flutter/content/106-design-principles/index.md b/src/roadmaps/flutter/content/106-design-principles/readme.md
similarity index 100%
rename from src/roadmaps/flutter/content/106-design-principles/index.md
rename to src/roadmaps/flutter/content/106-design-principles/readme.md
diff --git a/src/roadmaps/flutter/content/107-package-manager/100-pub-dev.md b/src/roadmaps/flutter/content/107-package-manager/100-pub-dev.md
index a97922634..3b482c06d 100644
--- a/src/roadmaps/flutter/content/107-package-manager/100-pub-dev.md
+++ b/src/roadmaps/flutter/content/107-package-manager/100-pub-dev.md
@@ -2,7 +2,6 @@
Flutter supports using shared packages contributed by other developers to the Flutter and Dart ecosystems.
-{% resources %}
- {% Official "https://pub.dev/", "pub.dev" %}
- {% Official "https://docs.flutter.dev/development/packages-and-plugins/using-packages", "Using packages" %}
-{% endresources %}
+Free Content
+pub.dev
+Using packages
diff --git a/src/roadmaps/flutter/content/107-package-manager/index.md b/src/roadmaps/flutter/content/107-package-manager/index.md
deleted file mode 100644
index 8acc9674a..000000000
--- a/src/roadmaps/flutter/content/107-package-manager/index.md
+++ /dev/null
@@ -1 +0,0 @@
-# Package manager
\ No newline at end of file
diff --git a/src/roadmaps/flutter/content/107-package-manager/readme.md b/src/roadmaps/flutter/content/107-package-manager/readme.md
new file mode 100644
index 000000000..970511f38
--- /dev/null
+++ b/src/roadmaps/flutter/content/107-package-manager/readme.md
@@ -0,0 +1,6 @@
+# Package Manager
+
+The package manager for Flutter is called pub. It is used to manage Flutter projects' dependencies and publish Flutter packages. It is included with the Flutter SDK and can be run from the command line using the `pub` command.
+
+Free Content
+Packages and Plugins
diff --git a/src/roadmaps/flutter/content/108-working-with-apis/100-json.md b/src/roadmaps/flutter/content/108-working-with-apis/100-json.md
index b5416c3ea..b98f016a8 100644
--- a/src/roadmaps/flutter/content/108-working-with-apis/100-json.md
+++ b/src/roadmaps/flutter/content/108-working-with-apis/100-json.md
@@ -2,6 +2,5 @@
JSON (JavaScript Object Notation) is a simple data interchange format used to communicate with server, store and retrieve data from it.
-{% resources %}
- {% Official "https://docs.flutter.dev/development/data-and-backend/json", "JSON and serialization" %}
-{% endresources %}
+Free Content
+JSON and serialization
diff --git a/src/roadmaps/flutter/content/108-working-with-apis/101-web-sockets.md b/src/roadmaps/flutter/content/108-working-with-apis/101-web-sockets.md
index 93abd94a2..2895806dd 100644
--- a/src/roadmaps/flutter/content/108-working-with-apis/101-web-sockets.md
+++ b/src/roadmaps/flutter/content/108-working-with-apis/101-web-sockets.md
@@ -1,7 +1,7 @@
-# Web sockets
+# Web Sockets
-In addition to normal HTTP requests, you can connect to servers using WebSockets. WebSockets allow for two-way communication with a server without polling.
+In addition to normal HTTP requests, you can connect to servers using WebSockets. Web sockets allows for bidirectional communication between a client (such as a web browser) and a server over a single, long-lived connection. They are a more efficient alternative to HTTP for providing real-time data, as they allow for the server to push data to the client as soon as it becomes available, rather than requiring the client to continuously poll the server for updates.
-{% resources %}
- {% Official "https://docs.flutter.dev/cookbook/networking/web-sockets", "Work with WebSockets" %}
-{% endresources %}
+
+Free Content
+Work with WebSockets
diff --git a/src/roadmaps/flutter/content/108-working-with-apis/103-restful-apis.md b/src/roadmaps/flutter/content/108-working-with-apis/103-restful-apis.md
index 3d1aa94c8..89298f1e9 100644
--- a/src/roadmaps/flutter/content/108-working-with-apis/103-restful-apis.md
+++ b/src/roadmaps/flutter/content/108-working-with-apis/103-restful-apis.md
@@ -2,9 +2,9 @@
REST, or REpresentational State Transfer, is an architectural style for providing standards between computer systems on the web, making it easier for systems to communicate with each other.
-{% resources %}
- {% Blog "https://www.codecademy.com/article/what-is-rest", "What is REST?" %}
- {% Blog "https://www.redhat.com/en/topics/api/what-is-a-rest-api", "What is a REST API?" %}
- {% Blog "https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm", "Roy Fieldings dissertation chapter, Representational State Transfer (REST)" %}
- {% Course "https://restapitutorial.com/", "Learn REST: A RESTful Tutorial" %}
-{% endresources %}
+Free Content
+
+What is REST?
+What is a REST API?
+Roy Fielding's dissertation chapter, "Representational State Transfer (REST)"
+Learn REST: A RESTful Tutorial
diff --git a/src/roadmaps/flutter/content/108-working-with-apis/index.md b/src/roadmaps/flutter/content/108-working-with-apis/readme.md
similarity index 100%
rename from src/roadmaps/flutter/content/108-working-with-apis/index.md
rename to src/roadmaps/flutter/content/108-working-with-apis/readme.md
diff --git a/src/roadmaps/flutter/content/109-storage/100-sqlite.md b/src/roadmaps/flutter/content/109-storage/100-sqlite.md
index fc6d5f5ee..9b078ff7d 100644
--- a/src/roadmaps/flutter/content/109-storage/100-sqlite.md
+++ b/src/roadmaps/flutter/content/109-storage/100-sqlite.md
@@ -1 +1,6 @@
-# Sqlite
\ No newline at end of file
+# SQLite
+
+SQLite is an open-source, lightweight relational database management system (RDBMS) used to store and manage data. It is written in C and self-contained, meaning it does not require a separate server process or system. SQLite is commonly used in mobile applications, embedded systems, and web browsers and is also supported by many programming languages. It is a popular choice for databases because it is easy to use and does not require a lot of setup or configuration.
+
+Free Content
+sqflite - pub.dev package
diff --git a/src/roadmaps/flutter/content/109-storage/101-shared-preferences.md b/src/roadmaps/flutter/content/109-storage/101-shared-preferences.md
index 31ee54a19..5ef9b4903 100644
--- a/src/roadmaps/flutter/content/109-storage/101-shared-preferences.md
+++ b/src/roadmaps/flutter/content/109-storage/101-shared-preferences.md
@@ -1 +1,6 @@
-# Shared preferences
\ No newline at end of file
+# Shared Preferences
+
+In Flutter, SharedPreferences is a plugin allowing you to store data in key-value pairs persistently. It is similar to a local database or cache, but it is specifically designed to store small pieces of data, such as user preferences or settings. The SharedPreferences plugin is often used to store simple pieces of data that need to be accessed by multiple screens or widgets in an app. For example, you might use SharedPreferences to store the user's login status or the app's theme color.
+
+Free Content
+shared_preferences - pub.dev package
diff --git a/src/roadmaps/flutter/content/109-storage/102-firebase/index.md b/src/roadmaps/flutter/content/109-storage/102-firebase/readme.md
similarity index 57%
rename from src/roadmaps/flutter/content/109-storage/102-firebase/index.md
rename to src/roadmaps/flutter/content/109-storage/102-firebase/readme.md
index 939da83cf..d7b04d7a7 100644
--- a/src/roadmaps/flutter/content/109-storage/102-firebase/index.md
+++ b/src/roadmaps/flutter/content/109-storage/102-firebase/readme.md
@@ -2,6 +2,5 @@
Firebase is a Backend-as-a-Service (BaaS) app development platform that provides hosted backend services such as a realtime database, cloud storage, authentication, crash reporting, machine learning, remote configuration, and hosting for your static files.
-{% resources %}
- {% Official "https://docs.flutter.dev/development/data-and-backend/firebase", "Firebase" %}
-{% endresources %}
+Free Content
+Firebase
diff --git a/src/roadmaps/flutter/content/109-storage/index.md b/src/roadmaps/flutter/content/109-storage/readme.md
similarity index 100%
rename from src/roadmaps/flutter/content/109-storage/index.md
rename to src/roadmaps/flutter/content/109-storage/readme.md
diff --git a/src/roadmaps/flutter/content/110-advanced-dart/100-core-libraries.md b/src/roadmaps/flutter/content/110-advanced-dart/100-core-libraries.md
index 7112349e8..39d44b1ed 100644
--- a/src/roadmaps/flutter/content/110-advanced-dart/100-core-libraries.md
+++ b/src/roadmaps/flutter/content/110-advanced-dart/100-core-libraries.md
@@ -2,6 +2,5 @@
Dart has a rich set of core libraries that provide essentials for many everyday programming tasks such as working on collections of objects (dart:collection), making calculations (dart:math), and encoding/decoding data (dart:convert).
-{% resources %}
- {% Official "https://dart.dev/guides/libraries", "Core libraries" %}
-{% endresources %}
+Free Content
+Core libraries
diff --git a/src/roadmaps/flutter/content/110-advanced-dart/index.md b/src/roadmaps/flutter/content/110-advanced-dart/readme.md
similarity index 100%
rename from src/roadmaps/flutter/content/110-advanced-dart/index.md
rename to src/roadmaps/flutter/content/110-advanced-dart/readme.md
diff --git a/src/roadmaps/flutter/content/111-state-management/100-provider.md b/src/roadmaps/flutter/content/111-state-management/100-provider.md
index 5660becf4..bbd6c1b1c 100644
--- a/src/roadmaps/flutter/content/111-state-management/100-provider.md
+++ b/src/roadmaps/flutter/content/111-state-management/100-provider.md
@@ -2,7 +2,6 @@
Provider is a wrapper around InheritedWidget (base class for widgets that efficiently propagate information down the tree) to make them easier to use and more reusable.
-{% resources %}
- {% Official "https://pub.dev/packages/provider", "provider" %}
- {% Official "https://docs.flutter.dev/development/data-and-backend/state-mgmt/simple", "Simple app state management" %}
-{% endresources %}
+Free Content
+provider
+Simple app state management
diff --git a/src/roadmaps/flutter/content/111-state-management/102-flutter-bloc.md b/src/roadmaps/flutter/content/111-state-management/102-flutter-bloc.md
index 18c0bd2e9..aad7a4852 100644
--- a/src/roadmaps/flutter/content/111-state-management/102-flutter-bloc.md
+++ b/src/roadmaps/flutter/content/111-state-management/102-flutter-bloc.md
@@ -2,7 +2,6 @@
State management library exposing widgets which can help handle all possible states of the application.
-{% resources %}
- {% Official "https://bloclibrary.dev/#/flutterbloccoreconcepts", "Core Concepts" %}
- {% Official "https://pub.dev/packages/flutter_bloc", "flutter_bloc" %}
-{% endresources %}
+Free Content
+Core Concepts
+flutter_bloc
diff --git a/src/roadmaps/flutter/content/111-state-management/105-redux.md b/src/roadmaps/flutter/content/111-state-management/105-redux.md
index 87fef8e93..e9038b45f 100644
--- a/src/roadmaps/flutter/content/111-state-management/105-redux.md
+++ b/src/roadmaps/flutter/content/111-state-management/105-redux.md
@@ -2,6 +2,5 @@
A set of utilities that allow you to easily consume a Redux Store to build Flutter Widgets.
-{% resources %}
- {% Official "https://pub.dev/packages/flutter_redux", "flutter_redux" %}
-{% endresources %}
+Free Content
+flutter_redux
diff --git a/src/roadmaps/flutter/content/111-state-management/index.md b/src/roadmaps/flutter/content/111-state-management/readme.md
similarity index 100%
rename from src/roadmaps/flutter/content/111-state-management/index.md
rename to src/roadmaps/flutter/content/111-state-management/readme.md
diff --git a/src/roadmaps/flutter/content/112-animations/104-hero.md b/src/roadmaps/flutter/content/112-animations/104-hero.md
index 772d6d0ea..7c1a3c19f 100644
--- a/src/roadmaps/flutter/content/112-animations/104-hero.md
+++ b/src/roadmaps/flutter/content/112-animations/104-hero.md
@@ -2,6 +2,5 @@
Flying an image from one screen to another is called a hero animation in Flutter, though the same motion is sometimes referred to as a shared element transition.
-{% resources %}
- {% Official "https://docs.flutter.dev/development/ui/animations/hero-animations", "Hero animations" %}
-{% endresources %}
+Free Content
+Hero animations
diff --git a/src/roadmaps/flutter/content/112-animations/105-opacity.md b/src/roadmaps/flutter/content/112-animations/105-opacity.md
index a6b4e61c6..45bda6bed 100644
--- a/src/roadmaps/flutter/content/112-animations/105-opacity.md
+++ b/src/roadmaps/flutter/content/112-animations/105-opacity.md
@@ -2,6 +2,5 @@
The AnimatedOpacity widget makes it easy to perform opacity animations.
-{% resources %}
- {% Official "https://docs.flutter.dev/cookbook/animation/opacity-animation", "Fade a widget in and out" %}
-{% endresources %}
+Free Content
+Fade a widget in and out
diff --git a/src/roadmaps/flutter/content/112-animations/index.md b/src/roadmaps/flutter/content/112-animations/readme.md
similarity index 56%
rename from src/roadmaps/flutter/content/112-animations/index.md
rename to src/roadmaps/flutter/content/112-animations/readme.md
index 3f3ce35bd..0fb7679e6 100644
--- a/src/roadmaps/flutter/content/112-animations/index.md
+++ b/src/roadmaps/flutter/content/112-animations/readme.md
@@ -2,6 +2,5 @@
Flutter’s animation support makes it easy to implement a variety of animation types. Many widgets, especially Material widgets, come with the standard motion effects defined in their design spec, but it’s also possible to customize these effects.
-{% resources %}
- {% Official "https://docs.flutter.dev/development/ui/animations", "Introduction to animations" %}
-{% endresources %}
+Free Content
+Introduction to animations
diff --git a/src/roadmaps/flutter/content/113-testing/100-unit-testing.md b/src/roadmaps/flutter/content/113-testing/100-unit-testing.md
index aded62565..772a19fee 100644
--- a/src/roadmaps/flutter/content/113-testing/100-unit-testing.md
+++ b/src/roadmaps/flutter/content/113-testing/100-unit-testing.md
@@ -2,6 +2,5 @@
Unit tests are handy for verifying the behavior of a single function, method, or class.
-{% resources %}
- {% Official "https://docs.flutter.dev/cookbook/testing/unit/introduction", "An introduction to unit testing" %}
-{% endresources %}
+Free Content
+An introduction to unit testing
diff --git a/src/roadmaps/flutter/content/113-testing/101-widget-testing.md b/src/roadmaps/flutter/content/113-testing/101-widget-testing.md
index 684d419db..abbed579b 100644
--- a/src/roadmaps/flutter/content/113-testing/101-widget-testing.md
+++ b/src/roadmaps/flutter/content/113-testing/101-widget-testing.md
@@ -2,6 +2,5 @@
Flutter provides necessary tools and libraries to test widget classes.
-{% resources %}
- {% Official "https://docs.flutter.dev/cookbook/testing/widget/introduction", "An introduction to widget testing" %}
-{% endresources %}
+Free Content
+An introduction to widget testing
diff --git a/src/roadmaps/flutter/content/113-testing/102-integration-testing.md b/src/roadmaps/flutter/content/113-testing/102-integration-testing.md
index dfe9f05e5..e604fd42a 100644
--- a/src/roadmaps/flutter/content/113-testing/102-integration-testing.md
+++ b/src/roadmaps/flutter/content/113-testing/102-integration-testing.md
@@ -2,6 +2,5 @@
Integration tests check how individual pieces work together as a whole, capture the performance of an application.
-{% resources %}
- {% Official "https://docs.flutter.dev/cookbook/testing/integration/introduction", "An introduction to integration testing" %}
-{% endresources %}
+Free Content
+An introduction to integration testing
diff --git a/src/roadmaps/flutter/content/113-testing/index.md b/src/roadmaps/flutter/content/113-testing/readme.md
similarity index 100%
rename from src/roadmaps/flutter/content/113-testing/index.md
rename to src/roadmaps/flutter/content/113-testing/readme.md
diff --git a/src/roadmaps/flutter/content/114-reactive-programming/index.md b/src/roadmaps/flutter/content/114-reactive-programming/readme.md
similarity index 100%
rename from src/roadmaps/flutter/content/114-reactive-programming/index.md
rename to src/roadmaps/flutter/content/114-reactive-programming/readme.md
diff --git a/src/roadmaps/flutter/content/115-dev-tools/100-flutter-inspector.md b/src/roadmaps/flutter/content/115-dev-tools/100-flutter-inspector.md
index 29bb9c295..2ccdcd096 100644
--- a/src/roadmaps/flutter/content/115-dev-tools/100-flutter-inspector.md
+++ b/src/roadmaps/flutter/content/115-dev-tools/100-flutter-inspector.md
@@ -2,6 +2,5 @@
The Flutter widget inspector is a powerful tool for visualizing and exploring Flutter widget trees.
-{% resources %}
- {% Official "https://docs.flutter.dev/development/tools/devtools/inspector", "Using the Flutter inspector" %}
-{% endresources %}
+Free Content
+Using the Flutter inspector
diff --git a/src/roadmaps/flutter/content/115-dev-tools/index.md b/src/roadmaps/flutter/content/115-dev-tools/readme.md
similarity index 100%
rename from src/roadmaps/flutter/content/115-dev-tools/index.md
rename to src/roadmaps/flutter/content/115-dev-tools/readme.md
diff --git a/src/roadmaps/flutter/content/116-flutter-internals/index.md b/src/roadmaps/flutter/content/116-flutter-internals/readme.md
similarity index 100%
rename from src/roadmaps/flutter/content/116-flutter-internals/index.md
rename to src/roadmaps/flutter/content/116-flutter-internals/readme.md
diff --git a/src/roadmaps/flutter/content/117-ci-cd/index.md b/src/roadmaps/flutter/content/117-ci-cd/readme.md
similarity index 100%
rename from src/roadmaps/flutter/content/117-ci-cd/index.md
rename to src/roadmaps/flutter/content/117-ci-cd/readme.md
diff --git a/src/roadmaps/flutter/content/118-analytics/index.md b/src/roadmaps/flutter/content/118-analytics/readme.md
similarity index 100%
rename from src/roadmaps/flutter/content/118-analytics/index.md
rename to src/roadmaps/flutter/content/118-analytics/readme.md
diff --git a/src/roadmaps/flutter/content/119-deployment/index.md b/src/roadmaps/flutter/content/119-deployment/readme.md
similarity index 100%
rename from src/roadmaps/flutter/content/119-deployment/index.md
rename to src/roadmaps/flutter/content/119-deployment/readme.md
diff --git a/src/roadmaps/flutter/content/readme.md b/src/roadmaps/flutter/content/readme.md
new file mode 100644
index 000000000..4e768b56d
--- /dev/null
+++ b/src/roadmaps/flutter/content/readme.md
@@ -0,0 +1 @@
+#
\ No newline at end of file
diff --git a/src/roadmaps/flutter/flutter.md b/src/roadmaps/flutter/flutter.md
index b4e829b39..0968cd5cc 100644
--- a/src/roadmaps/flutter/flutter.md
+++ b/src/roadmaps/flutter/flutter.md
@@ -1,5 +1,4 @@
---
-jsonUrl: "/jsons/flutter.json"
pdfUrl: "/pdfs/flutter.pdf"
order: 10
featuredTitle: "Flutter"
diff --git a/src/roadmaps/frontend/content/100-internet/100-how-does-the-internet-work.md b/src/roadmaps/frontend/content/100-internet/100-how-does-the-internet-work.md
index 34945fe47..956b89101 100644
--- a/src/roadmaps/frontend/content/100-internet/100-how-does-the-internet-work.md
+++ b/src/roadmaps/frontend/content/100-internet/100-how-does-the-internet-work.md
@@ -2,11 +2,10 @@
The Internet is a global network of computers connected to each other which communicate through a standardized set of protocols.
-{% resources %}
- {% Blog "https://www.vox.com/2014/6/16/18076282/the-internet", "The Internet Explained" %}
- {% Blog "http://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm", "How Does the Internet Work?" %}
- {% Blog "https://developer.mozilla.org/en-US/docs/Learn/Common_questions/How_does_the_Internet_work", "How Does the Internet Work? MDN Docs" %}
- {% Blog "/guides/what-is-internet", "Introduction to Internet" %}
- {% Blog "https://www.youtube.com/watch?v=TNQsmPf24go", "How does the Internet work?" %}
- {% Blog "https://www.youtube.com/watch?v=7_LPdttKXPc", "How the Internet Works in 5 Minutes" %}
-{% endresources %}
+Free Content
+The Internet Explained
+How Does the Internet Work?
+How Does the Internet Work? MDN Docs
+Introduction to Internet
+How does the Internet work?
+How the Internet Works in 5 Minutes
diff --git a/src/roadmaps/frontend/content/100-internet/101-what-is-http.md b/src/roadmaps/frontend/content/100-internet/101-what-is-http.md
index 602f90397..2e8aad4bd 100644
--- a/src/roadmaps/frontend/content/100-internet/101-what-is-http.md
+++ b/src/roadmaps/frontend/content/100-internet/101-what-is-http.md
@@ -2,11 +2,11 @@
HTTP is the `TCP/IP` based application layer communication protocol which standardizes how the client and server communicate with each other. HTTP follows a classical "Client-Server model" with a client opening a connection request, then waiting until it receives a response. HTTP is a stateless protocol, that means that the server does not keep any data (state) between two requests.
-{% resources %}
- {% Blog "https://www.cloudflare.com/en-gb/learning/ddos/glossary/hypertext-transfer-protocol-http/", "What is HTTP?" %}
- {% Blog "https://howhttps.works", "How HTTPS Works ...in a comic!" %}
- {% Blog "https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview", "An overview of HTTP" %}
- {% Blog "https://kamranahmed.info/blog/2016/08/13/http-in-depth", "Journey to HTTP/2" %}
- {% Blog "https://www.smashingmagazine.com/2021/08/http3-core-concepts-part1/", "HTTP/3 From A To Z: Core Concepts" %}
- {% Blog "https://www.youtube.com/watch?v=iYM2zFP3Zn0", "HTTP Crash Course & Exploration" %}
-{% endresources %}
+Free Content
+What is HTTP?
+How HTTPS Works ...in a comic!
+An overview of HTTP
+Journey to HTTP/2
+HTTP/3 From A To Z: Core Concepts
+HTTP/3 Is Now a Standard: Why Use It and How to Get Started
+HTTP Crash Course & Exploration
diff --git a/src/roadmaps/frontend/content/100-internet/102-browsers-and-how-they-work.md b/src/roadmaps/frontend/content/100-internet/102-browsers-and-how-they-work.md
index 00ea4b92d..c07b24906 100644
--- a/src/roadmaps/frontend/content/100-internet/102-browsers-and-how-they-work.md
+++ b/src/roadmaps/frontend/content/100-internet/102-browsers-and-how-they-work.md
@@ -2,9 +2,8 @@
A web browser is a software application that enables a user to access and display web pages or other online content through its graphical user interface.
-{% resources %}
- {% Blog "https://www.html5rocks.com/en/tutorials/internals/howbrowserswork/", "How Browsers Work" %}
- {% Blog "https://www.browserstack.com/guide/browser-rendering-engine", "Role of Rendering Engine in Browsers" %}
- {% Blog "https://developer.mozilla.org/en-US/docs/Web/Performance/How_browsers_work", "Populating the Page: How Browsers Work" %}
- {% Blog "https://www.youtube.com/watch?v=WjDrMKZWCt0", "How Do Web Browsers Work?" %}
-{% endresources %}
+Free Content
+How Browsers Work
+Role of Rendering Engine in Browsers
+Populating the Page: How Browsers Work
+How Do Web Browsers Work?
diff --git a/src/roadmaps/frontend/content/100-internet/103-dns-and-how-it-works.md b/src/roadmaps/frontend/content/100-internet/103-dns-and-how-it-works.md
index 29cd7e970..02e6a6df8 100644
--- a/src/roadmaps/frontend/content/100-internet/103-dns-and-how-it-works.md
+++ b/src/roadmaps/frontend/content/100-internet/103-dns-and-how-it-works.md
@@ -2,12 +2,11 @@
The Domain Name System (DNS) is the phonebook of the Internet. Humans access information online through domain names, like nytimes.com or espn.com. Web browsers interact through Internet Protocol (IP) addresses. DNS translates domain names to IP addresses so browsers can load Internet resources.
-{% resources %}
- {% Blog "https://www.cloudflare.com/en-gb/learning/dns/what-is-dns/", "What is DNS?" %}
- {% Blog "https://messwithdns.net/", "Mess with DNS - DNS Playground" %}
- {% Blog "https://howdns.works/", "How DNS works (comic)" %}
- {% Blog "https://www.youtube.com/watch?v=Wj0od2ag5sk", "DNS and How does it Work?" %}
- {% Blog "https://www.youtube.com/watch?v=7lxgpKh_fRY", "DNS Records" %}
- {% Blog "https://www.youtube.com/watch?v=e48AyJOA9W8", "When to add glue records to DNS settings" %}
- {% Blog "https://www.youtube.com/watch?v=YV5tkQYcvfg", "DNS Records for Newbies - How To Manage Website Records" %}
-{% endresources %}
+Free Content
+What is DNS?
+Mess with DNS - DNS Playground
+How DNS works (comic)
+DNS and How does it Work?
+DNS Records
+When to add glue records to DNS settings
+DNS Records for Newbies - How To Manage Website Records
diff --git a/src/roadmaps/frontend/content/100-internet/104-what-is-domain-name.md b/src/roadmaps/frontend/content/100-internet/104-what-is-domain-name.md
index 7b217a65b..bf8d23383 100644
--- a/src/roadmaps/frontend/content/100-internet/104-what-is-domain-name.md
+++ b/src/roadmaps/frontend/content/100-internet/104-what-is-domain-name.md
@@ -1,9 +1,8 @@
# Domain Name
-A domain name is a unique, easy-to-remember address used to access websites, such as ‘google.com’, and ‘facebook.com’. Users can connect to websites using domain names thanks to the DNS system.
+A domain name is a unique, easy-to-remember address used to access websites, such as ‘google.com’, and ‘facebook.com’. Users can connect to websites using domain names thanks to the Domain Name System (DNS).
-{% resources %}
- {% Blog "https://developer.mozilla.org/en-US/docs/Learn/Common_questions/What_is_a_domain_name", "What is a Domain Name?" %}
- {% Blog "https://www.cloudflare.com/en-gb/learning/dns/glossary/what-is-a-domain-name/", "What is a Domain Name? | Domain name vs. URL" %}
- {% Blog "https://www.youtube.com/watch?v=Y4cRx19nhJk", "A Beginners Guide to How Domain Names Work" %}
-{% endresources %}
+Free Content
+What is a Domain Name?
+What is a Domain Name? | Domain name vs. URL
+A Beginners Guide to How Domain Names Work
diff --git a/src/roadmaps/frontend/content/100-internet/105-what-is-hosting.md b/src/roadmaps/frontend/content/100-internet/105-what-is-hosting.md
index f2b3d37aa..7ab9b4f76 100644
--- a/src/roadmaps/frontend/content/100-internet/105-what-is-hosting.md
+++ b/src/roadmaps/frontend/content/100-internet/105-what-is-hosting.md
@@ -2,8 +2,7 @@
Web hosting is an online service that allows you to publish your website files onto the internet. So, anyone who has access to the internet has access to your website.
-{% resources %}
- {% Blog "https://www.youtube.com/watch?v=htbY9-yggB0", "What Is Web Hosting? Explained" %}
- {% Blog "https://www.youtube.com/watch?v=AXVZYzw8geg", "Different Types of Web Hosting Explained" %}
- {% Blog "https://www.youtube.com/watch?v=Kx_1NYYJS7Q", "Where to Host a Fullstack Project on a Budget" %}
-{% endresources %}
+Free Content
+What Is Web Hosting? Explained
+Different Types of Web Hosting Explained
+Where to Host a Fullstack Project on a Budget
diff --git a/src/roadmaps/frontend/content/100-internet/index.md b/src/roadmaps/frontend/content/100-internet/index.md
deleted file mode 100644
index a84b3e46f..000000000
--- a/src/roadmaps/frontend/content/100-internet/index.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Internet
-
-The Internet is a global network of computers connected to each other which communicate through a standardized set of protocols.
-
-{% resources %}
- {% Blog "https://www.vox.com/2014/6/16/18076282/the-internet", "The Internet Explained" %}
- {% Blog "http://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm", "How Does the Internet Work?" %}
- {% Blog "/guides/what-is-internet", "Introduction to Internet" %}
- {% Blog "https://internetfundamentals.com", "Learn How the Web Works" %}
- {% Blog "https://www.youtube.com/watch?v=x3c1ih2NJEg", "How does the Internet work?" %}
- {% Blog "https://www.youtube.com/watch?v=7_LPdttKXPc", "How the Internet Works in 5 Minutes" %}
-{% endresources %}
-
diff --git a/src/roadmaps/frontend/content/100-internet/readme.md b/src/roadmaps/frontend/content/100-internet/readme.md
new file mode 100644
index 000000000..853107e37
--- /dev/null
+++ b/src/roadmaps/frontend/content/100-internet/readme.md
@@ -0,0 +1,12 @@
+# Internet
+
+The Internet is a global network of computers connected to each other which communicate through a standardized set of protocols.
+
+Free Content
+The Internet Explained
+How Does the Internet Work?
+Introduction to Internet
+Learn How the Web Works
+How does the Internet work?
+How the Internet Works in 5 Minutes
+
diff --git a/src/roadmaps/frontend/content/101-html/100-learn-the-basics.md b/src/roadmaps/frontend/content/101-html/100-learn-the-basics.md
index 53aca5013..7ce3b9e02 100644
--- a/src/roadmaps/frontend/content/101-html/100-learn-the-basics.md
+++ b/src/roadmaps/frontend/content/101-html/100-learn-the-basics.md
@@ -2,11 +2,10 @@
HTML stands for HyperText Markup Language. It is used on the frontend and gives the structure to the webpage which you can style using CSS and make interactive using JavaScript.
-{% resources %}
- {% Blog "https://www.w3schools.com/html/html_intro.asp", "W3Schools: Learn HTML" %}
- {% Blog "https://developer.mozilla.org/en-US/docs/Learn/HTML/Introduction_to_HTML/Getting_started", "MDN Docs: Getting Started with HTML " %}
- {% Blog "https://www.youtube.com/watch?v=pQN-pnXPaVg", "HTML Full Course - Build a Website Tutorial" %}
- {% Blog "https://www.youtube.com/watch?v=qz0aGYrrlhU", "HTML Tutorial for Beginners: HTML Crash Course" %}
- {% Blog "https://htmlcheatsheet.com", "HTML Cheatsheet" %}
- {% Course "https://www.scaler.com/topics/html", "Scaler: HTML" %}
-{% endresources %}
+Free Content
+W3Schools: Learn HTML
+MDN Docs: Getting Started with HTML
+HTML Full Course - Build a Website Tutorial
+HTML Tutorial for Beginners: HTML Crash Course
+HTML Cheatsheet
+Scaler: HTML
diff --git a/src/roadmaps/frontend/content/101-html/101-writing-semantic-html.md b/src/roadmaps/frontend/content/101-html/101-writing-semantic-html.md
index cdb14fd26..c073f1fa2 100644
--- a/src/roadmaps/frontend/content/101-html/101-writing-semantic-html.md
+++ b/src/roadmaps/frontend/content/101-html/101-writing-semantic-html.md
@@ -2,11 +2,10 @@
Semantic element clearly describes its meaning to both the browser and the developer. In HTML, semantic element are the type of elements that can be used to define different parts of a web page such as `