diff --git a/content/roadmaps.json b/content/roadmaps.json
index fffb66d56..a99c0e5c4 100644
--- a/content/roadmaps.json
+++ b/content/roadmaps.json
@@ -287,6 +287,7 @@
"url": "https://twitter.com/kamranahmedse"
},
"pdfUrl": "/pdfs/vue.pdf",
+ "contentPathsFilePath": "/roadmaps/105-vue/content-paths.json",
"id": "vue",
"metaPath": "/roadmaps/105-vue/meta.json",
"isUpcoming": false
diff --git a/content/roadmaps/105-vue/content-paths.json b/content/roadmaps/105-vue/content-paths.json
new file mode 100644
index 000000000..e9160dff9
--- /dev/null
+++ b/content/roadmaps/105-vue/content-paths.json
@@ -0,0 +1,70 @@
+{
+ "home": "/roadmaps/105-vue/content/readme.md",
+ "fundamental-topics": "/roadmaps/105-vue/content/100-fundamental-topics/readme.md",
+ "fundamental-topics:vue-cli": "/roadmaps/105-vue/content/100-fundamental-topics/100-vue-cli.md",
+ "fundamental-topics:components": "/roadmaps/105-vue/content/100-fundamental-topics/101-components/readme.md",
+ "fundamental-topics:components:single-file-components": "/roadmaps/105-vue/content/100-fundamental-topics/101-components/100-single-file-components.md",
+ "fundamental-topics:components:component-registration": "/roadmaps/105-vue/content/100-fundamental-topics/101-components/101-component-registration.md",
+ "fundamental-topics:components:props": "/roadmaps/105-vue/content/100-fundamental-topics/101-components/102-props.md",
+ "fundamental-topics:components:events": "/roadmaps/105-vue/content/100-fundamental-topics/101-components/103-events.md",
+ "fundamental-topics:components:attribute-inheritance": "/roadmaps/105-vue/content/100-fundamental-topics/101-components/104-attribute-inheritance.md",
+ "fundamental-topics:templates": "/roadmaps/105-vue/content/100-fundamental-topics/102-templates.md",
+ "fundamental-topics:directives": "/roadmaps/105-vue/content/100-fundamental-topics/103-directives.md",
+ "fundamental-topics:api-styles": "/roadmaps/105-vue/content/100-fundamental-topics/104-api-styles/readme.md",
+ "fundamental-topics:api-styles:options-api": "/roadmaps/105-vue/content/100-fundamental-topics/104-api-styles/100-options-api.md",
+ "fundamental-topics:api-styles:composition-api": "/roadmaps/105-vue/content/100-fundamental-topics/104-api-styles/101-composition-api.md",
+ "fundamental-topics:app-configurations": "/roadmaps/105-vue/content/100-fundamental-topics/105-app-configurations.md",
+ "fundamental-topics:rendering-lists": "/roadmaps/105-vue/content/100-fundamental-topics/106-rendering-lists.md",
+ "fundamental-topics:conditional-rendering": "/roadmaps/105-vue/content/100-fundamental-topics/107-conditional-rendering.md",
+ "fundamental-topics:lifecycle-hooks": "/roadmaps/105-vue/content/100-fundamental-topics/108-lifecycle-hooks.md",
+ "fundamental-topics:forms-handling": "/roadmaps/105-vue/content/100-fundamental-topics/109-forms-handling.md",
+ "fundamental-topics:events-handling": "/roadmaps/105-vue/content/100-fundamental-topics/110-events-handling.md",
+ "fundamental-topics:computed-properties": "/roadmaps/105-vue/content/100-fundamental-topics/111-computed-properties.md",
+ "advanced-topics": "/roadmaps/105-vue/content/101-advanced-topics/readme.md",
+ "advanced-topics:ref": "/roadmaps/105-vue/content/101-advanced-topics/100-ref.md",
+ "advanced-topics:torefs": "/roadmaps/105-vue/content/101-advanced-topics/101-torefs.md",
+ "advanced-topics:reactive": "/roadmaps/105-vue/content/101-advanced-topics/102-reactive.md",
+ "advanced-topics:computed": "/roadmaps/105-vue/content/101-advanced-topics/103-computed.md",
+ "advanced-topics:watch": "/roadmaps/105-vue/content/101-advanced-topics/104-watch.md",
+ "advanced-topics:next-tick": "/roadmaps/105-vue/content/101-advanced-topics/105-next-tick.md",
+ "advanced-topics:composables": "/roadmaps/105-vue/content/101-advanced-topics/106-composables.md",
+ "advanced-topics:async-components": "/roadmaps/105-vue/content/101-advanced-topics/107-async-components.md",
+ "advanced-topics:teleport-components": "/roadmaps/105-vue/content/101-advanced-topics/108-teleport-components.md",
+ "advanced-topics:provide-inject": "/roadmaps/105-vue/content/101-advanced-topics/109-provide-inject.md",
+ "advanced-topics:custom-directives": "/roadmaps/105-vue/content/101-advanced-topics/110-custom-directives.md",
+ "advanced-topics:custom-events": "/roadmaps/105-vue/content/101-advanced-topics/111-custom-events.md",
+ "advanced-topics:plugins": "/roadmaps/105-vue/content/101-advanced-topics/112-plugins.md",
+ "advanced-topics:watchers": "/roadmaps/105-vue/content/101-advanced-topics/113-watchers.md",
+ "advanced-topics:slots": "/roadmaps/105-vue/content/101-advanced-topics/114-slots.md",
+ "advanced-topics:transition": "/roadmaps/105-vue/content/101-advanced-topics/115-transition.md",
+ "advanced-topics:transition-group": "/roadmaps/105-vue/content/101-advanced-topics/116-transition-group.md",
+ "ecosystem": "/roadmaps/105-vue/content/102-ecosystem/readme.md",
+ "ecosystem:routing": "/roadmaps/105-vue/content/102-ecosystem/100-routing/readme.md",
+ "ecosystem:routing:vue-router": "/roadmaps/105-vue/content/102-ecosystem/100-routing/100-vue-router.md",
+ "ecosystem:forms": "/roadmaps/105-vue/content/102-ecosystem/101-forms/readme.md",
+ "ecosystem:forms:vue-formulate": "/roadmaps/105-vue/content/102-ecosystem/101-forms/100-vue-formulate.md",
+ "ecosystem:forms:vee-validate": "/roadmaps/105-vue/content/102-ecosystem/101-forms/101-vee-validate.md",
+ "ecosystem:forms:vuelidate": "/roadmaps/105-vue/content/102-ecosystem/101-forms/102-vuelidate.md",
+ "ecosystem:ssr": "/roadmaps/105-vue/content/102-ecosystem/102-ssr/readme.md",
+ "ecosystem:ssr:quasar": "/roadmaps/105-vue/content/102-ecosystem/102-ssr/100-quasar.md",
+ "ecosystem:ssr:nuxt-js": "/roadmaps/105-vue/content/102-ecosystem/102-ssr/101-nuxt-js.md",
+ "ecosystem:ssg": "/roadmaps/105-vue/content/102-ecosystem/103-ssg/readme.md",
+ "ecosystem:ssg:gridsome": "/roadmaps/105-vue/content/102-ecosystem/103-ssg/100-gridsome.md",
+ "ecosystem:ssg:vuepress": "/roadmaps/105-vue/content/102-ecosystem/103-ssg/101-vuepress.md",
+ "ecosystem:state-management": "/roadmaps/105-vue/content/102-ecosystem/104-state-management/readme.md",
+ "ecosystem:state-management:pinia": "/roadmaps/105-vue/content/102-ecosystem/104-state-management/100-pinia.md",
+ "ecosystem:mobile-apps": "/roadmaps/105-vue/content/102-ecosystem/105-mobile-apps/readme.md",
+ "ecosystem:mobile-apps:capacitor": "/roadmaps/105-vue/content/102-ecosystem/105-mobile-apps/100-capacitor.md",
+ "ecosystem:api-calls": "/roadmaps/105-vue/content/102-ecosystem/106-api-calls/readme.md",
+ "ecosystem:api-calls:apollo": "/roadmaps/105-vue/content/102-ecosystem/106-api-calls/100-apollo.md",
+ "ecosystem:api-calls:vue-relay": "/roadmaps/105-vue/content/102-ecosystem/106-api-calls/101-vue-relay.md",
+ "ecosystem:api-calls:axios": "/roadmaps/105-vue/content/102-ecosystem/106-api-calls/102-axios.md",
+ "ecosystem:api-calls:unfetch": "/roadmaps/105-vue/content/102-ecosystem/106-api-calls/103-unfetch.md",
+ "ecosystem:api-calls:superagent": "/roadmaps/105-vue/content/102-ecosystem/106-api-calls/104-superagent.md",
+ "ecosystem:jest": "/roadmaps/105-vue/content/102-ecosystem/107-jest.md",
+ "ecosystem:vue-testing-library": "/roadmaps/105-vue/content/102-ecosystem/108-vue-testing-library.md",
+ "ecosystem:cypress": "/roadmaps/105-vue/content/102-ecosystem/109-cypress.md",
+ "ecosystem:tailwind-css": "/roadmaps/105-vue/content/102-ecosystem/110-tailwind-css.md",
+ "ecosystem:vuetify": "/roadmaps/105-vue/content/102-ecosystem/111-vuetify.md",
+ "ecosystem:element-ui": "/roadmaps/105-vue/content/102-ecosystem/112-element-ui.md"
+}
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/100-fundamental-topics/100-vue-cli.md b/content/roadmaps/105-vue/content/100-fundamental-topics/100-vue-cli.md
new file mode 100644
index 000000000..082ca1fbd
--- /dev/null
+++ b/content/roadmaps/105-vue/content/100-fundamental-topics/100-vue-cli.md
@@ -0,0 +1 @@
+# Vue cli
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/100-fundamental-topics/101-components/100-single-file-components.md b/content/roadmaps/105-vue/content/100-fundamental-topics/101-components/100-single-file-components.md
new file mode 100644
index 000000000..86db047e9
--- /dev/null
+++ b/content/roadmaps/105-vue/content/100-fundamental-topics/101-components/100-single-file-components.md
@@ -0,0 +1 @@
+# Single file components
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/100-fundamental-topics/101-components/101-component-registration.md b/content/roadmaps/105-vue/content/100-fundamental-topics/101-components/101-component-registration.md
new file mode 100644
index 000000000..8b7087f9d
--- /dev/null
+++ b/content/roadmaps/105-vue/content/100-fundamental-topics/101-components/101-component-registration.md
@@ -0,0 +1 @@
+# Component registration
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/100-fundamental-topics/101-components/102-props.md b/content/roadmaps/105-vue/content/100-fundamental-topics/101-components/102-props.md
new file mode 100644
index 000000000..771503ccd
--- /dev/null
+++ b/content/roadmaps/105-vue/content/100-fundamental-topics/101-components/102-props.md
@@ -0,0 +1 @@
+# Props
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/100-fundamental-topics/101-components/103-events.md b/content/roadmaps/105-vue/content/100-fundamental-topics/101-components/103-events.md
new file mode 100644
index 000000000..cbf945847
--- /dev/null
+++ b/content/roadmaps/105-vue/content/100-fundamental-topics/101-components/103-events.md
@@ -0,0 +1 @@
+# Events
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/100-fundamental-topics/101-components/104-attribute-inheritance.md b/content/roadmaps/105-vue/content/100-fundamental-topics/101-components/104-attribute-inheritance.md
new file mode 100644
index 000000000..1c58831d2
--- /dev/null
+++ b/content/roadmaps/105-vue/content/100-fundamental-topics/101-components/104-attribute-inheritance.md
@@ -0,0 +1 @@
+# Attribute inheritance
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/100-fundamental-topics/101-components/readme.md b/content/roadmaps/105-vue/content/100-fundamental-topics/101-components/readme.md
new file mode 100644
index 000000000..f6ce326cb
--- /dev/null
+++ b/content/roadmaps/105-vue/content/100-fundamental-topics/101-components/readme.md
@@ -0,0 +1 @@
+# Components
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/100-fundamental-topics/102-templates.md b/content/roadmaps/105-vue/content/100-fundamental-topics/102-templates.md
new file mode 100644
index 000000000..fd5397edd
--- /dev/null
+++ b/content/roadmaps/105-vue/content/100-fundamental-topics/102-templates.md
@@ -0,0 +1 @@
+# Templates
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/100-fundamental-topics/103-directives.md b/content/roadmaps/105-vue/content/100-fundamental-topics/103-directives.md
new file mode 100644
index 000000000..511998d02
--- /dev/null
+++ b/content/roadmaps/105-vue/content/100-fundamental-topics/103-directives.md
@@ -0,0 +1 @@
+# Directives
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/100-fundamental-topics/104-api-styles/100-options-api.md b/content/roadmaps/105-vue/content/100-fundamental-topics/104-api-styles/100-options-api.md
new file mode 100644
index 000000000..7150a8775
--- /dev/null
+++ b/content/roadmaps/105-vue/content/100-fundamental-topics/104-api-styles/100-options-api.md
@@ -0,0 +1 @@
+# Options api
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/100-fundamental-topics/104-api-styles/101-composition-api.md b/content/roadmaps/105-vue/content/100-fundamental-topics/104-api-styles/101-composition-api.md
new file mode 100644
index 000000000..14871602b
--- /dev/null
+++ b/content/roadmaps/105-vue/content/100-fundamental-topics/104-api-styles/101-composition-api.md
@@ -0,0 +1 @@
+# Composition api
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/100-fundamental-topics/104-api-styles/readme.md b/content/roadmaps/105-vue/content/100-fundamental-topics/104-api-styles/readme.md
new file mode 100644
index 000000000..7de7587c3
--- /dev/null
+++ b/content/roadmaps/105-vue/content/100-fundamental-topics/104-api-styles/readme.md
@@ -0,0 +1 @@
+# Api styles
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/100-fundamental-topics/105-app-configurations.md b/content/roadmaps/105-vue/content/100-fundamental-topics/105-app-configurations.md
new file mode 100644
index 000000000..47dc3dfd2
--- /dev/null
+++ b/content/roadmaps/105-vue/content/100-fundamental-topics/105-app-configurations.md
@@ -0,0 +1 @@
+# App configurations
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/100-fundamental-topics/106-rendering-lists.md b/content/roadmaps/105-vue/content/100-fundamental-topics/106-rendering-lists.md
new file mode 100644
index 000000000..8c7e28e35
--- /dev/null
+++ b/content/roadmaps/105-vue/content/100-fundamental-topics/106-rendering-lists.md
@@ -0,0 +1 @@
+# Rendering lists
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/100-fundamental-topics/107-conditional-rendering.md b/content/roadmaps/105-vue/content/100-fundamental-topics/107-conditional-rendering.md
new file mode 100644
index 000000000..1f66ef1f0
--- /dev/null
+++ b/content/roadmaps/105-vue/content/100-fundamental-topics/107-conditional-rendering.md
@@ -0,0 +1 @@
+# Conditional rendering
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/100-fundamental-topics/108-lifecycle-hooks.md b/content/roadmaps/105-vue/content/100-fundamental-topics/108-lifecycle-hooks.md
new file mode 100644
index 000000000..08c5ee17c
--- /dev/null
+++ b/content/roadmaps/105-vue/content/100-fundamental-topics/108-lifecycle-hooks.md
@@ -0,0 +1 @@
+# Lifecycle hooks
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/100-fundamental-topics/109-forms-handling.md b/content/roadmaps/105-vue/content/100-fundamental-topics/109-forms-handling.md
new file mode 100644
index 000000000..d0d759da2
--- /dev/null
+++ b/content/roadmaps/105-vue/content/100-fundamental-topics/109-forms-handling.md
@@ -0,0 +1 @@
+# Forms handling
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/100-fundamental-topics/110-events-handling.md b/content/roadmaps/105-vue/content/100-fundamental-topics/110-events-handling.md
new file mode 100644
index 000000000..6ae8df14c
--- /dev/null
+++ b/content/roadmaps/105-vue/content/100-fundamental-topics/110-events-handling.md
@@ -0,0 +1 @@
+# Events handling
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/100-fundamental-topics/111-computed-properties.md b/content/roadmaps/105-vue/content/100-fundamental-topics/111-computed-properties.md
new file mode 100644
index 000000000..a06f1436e
--- /dev/null
+++ b/content/roadmaps/105-vue/content/100-fundamental-topics/111-computed-properties.md
@@ -0,0 +1 @@
+# Computed properties
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/100-fundamental-topics/readme.md b/content/roadmaps/105-vue/content/100-fundamental-topics/readme.md
new file mode 100644
index 000000000..e831d687e
--- /dev/null
+++ b/content/roadmaps/105-vue/content/100-fundamental-topics/readme.md
@@ -0,0 +1 @@
+# Fundamental topics
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/101-advanced-topics/100-ref.md b/content/roadmaps/105-vue/content/101-advanced-topics/100-ref.md
new file mode 100644
index 000000000..30ad23a7a
--- /dev/null
+++ b/content/roadmaps/105-vue/content/101-advanced-topics/100-ref.md
@@ -0,0 +1 @@
+# Ref
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/101-advanced-topics/101-torefs.md b/content/roadmaps/105-vue/content/101-advanced-topics/101-torefs.md
new file mode 100644
index 000000000..48eb54788
--- /dev/null
+++ b/content/roadmaps/105-vue/content/101-advanced-topics/101-torefs.md
@@ -0,0 +1 @@
+# Torefs
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/101-advanced-topics/102-reactive.md b/content/roadmaps/105-vue/content/101-advanced-topics/102-reactive.md
new file mode 100644
index 000000000..6fd032610
--- /dev/null
+++ b/content/roadmaps/105-vue/content/101-advanced-topics/102-reactive.md
@@ -0,0 +1 @@
+# Reactive
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/101-advanced-topics/103-computed.md b/content/roadmaps/105-vue/content/101-advanced-topics/103-computed.md
new file mode 100644
index 000000000..31f984a90
--- /dev/null
+++ b/content/roadmaps/105-vue/content/101-advanced-topics/103-computed.md
@@ -0,0 +1 @@
+# Computed
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/101-advanced-topics/104-watch.md b/content/roadmaps/105-vue/content/101-advanced-topics/104-watch.md
new file mode 100644
index 000000000..dd6fc067f
--- /dev/null
+++ b/content/roadmaps/105-vue/content/101-advanced-topics/104-watch.md
@@ -0,0 +1 @@
+# Watch
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/101-advanced-topics/105-next-tick.md b/content/roadmaps/105-vue/content/101-advanced-topics/105-next-tick.md
new file mode 100644
index 000000000..1dc70e7e9
--- /dev/null
+++ b/content/roadmaps/105-vue/content/101-advanced-topics/105-next-tick.md
@@ -0,0 +1 @@
+# Next tick
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/101-advanced-topics/106-composables.md b/content/roadmaps/105-vue/content/101-advanced-topics/106-composables.md
new file mode 100644
index 000000000..553e13941
--- /dev/null
+++ b/content/roadmaps/105-vue/content/101-advanced-topics/106-composables.md
@@ -0,0 +1 @@
+# Composables
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/101-advanced-topics/107-async-components.md b/content/roadmaps/105-vue/content/101-advanced-topics/107-async-components.md
new file mode 100644
index 000000000..ec26c075b
--- /dev/null
+++ b/content/roadmaps/105-vue/content/101-advanced-topics/107-async-components.md
@@ -0,0 +1 @@
+# Async components
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/101-advanced-topics/108-teleport-components.md b/content/roadmaps/105-vue/content/101-advanced-topics/108-teleport-components.md
new file mode 100644
index 000000000..8eac6d6a3
--- /dev/null
+++ b/content/roadmaps/105-vue/content/101-advanced-topics/108-teleport-components.md
@@ -0,0 +1 @@
+# Teleport components
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/101-advanced-topics/109-provide-inject.md b/content/roadmaps/105-vue/content/101-advanced-topics/109-provide-inject.md
new file mode 100644
index 000000000..959ae7aaa
--- /dev/null
+++ b/content/roadmaps/105-vue/content/101-advanced-topics/109-provide-inject.md
@@ -0,0 +1 @@
+# Provide inject
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/101-advanced-topics/110-custom-directives.md b/content/roadmaps/105-vue/content/101-advanced-topics/110-custom-directives.md
new file mode 100644
index 000000000..0f2eb78b2
--- /dev/null
+++ b/content/roadmaps/105-vue/content/101-advanced-topics/110-custom-directives.md
@@ -0,0 +1 @@
+# Custom directives
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/101-advanced-topics/111-custom-events.md b/content/roadmaps/105-vue/content/101-advanced-topics/111-custom-events.md
new file mode 100644
index 000000000..d4169be9a
--- /dev/null
+++ b/content/roadmaps/105-vue/content/101-advanced-topics/111-custom-events.md
@@ -0,0 +1 @@
+# Custom events
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/101-advanced-topics/112-plugins.md b/content/roadmaps/105-vue/content/101-advanced-topics/112-plugins.md
new file mode 100644
index 000000000..f39a3a0c3
--- /dev/null
+++ b/content/roadmaps/105-vue/content/101-advanced-topics/112-plugins.md
@@ -0,0 +1 @@
+# Plugins
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/101-advanced-topics/113-watchers.md b/content/roadmaps/105-vue/content/101-advanced-topics/113-watchers.md
new file mode 100644
index 000000000..c331c608f
--- /dev/null
+++ b/content/roadmaps/105-vue/content/101-advanced-topics/113-watchers.md
@@ -0,0 +1 @@
+# Watchers
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/101-advanced-topics/114-slots.md b/content/roadmaps/105-vue/content/101-advanced-topics/114-slots.md
new file mode 100644
index 000000000..fa109e7c8
--- /dev/null
+++ b/content/roadmaps/105-vue/content/101-advanced-topics/114-slots.md
@@ -0,0 +1 @@
+# Slots
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/101-advanced-topics/115-transition.md b/content/roadmaps/105-vue/content/101-advanced-topics/115-transition.md
new file mode 100644
index 000000000..3482b4dc8
--- /dev/null
+++ b/content/roadmaps/105-vue/content/101-advanced-topics/115-transition.md
@@ -0,0 +1 @@
+# Transition
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/101-advanced-topics/116-transition-group.md b/content/roadmaps/105-vue/content/101-advanced-topics/116-transition-group.md
new file mode 100644
index 000000000..8c1063eed
--- /dev/null
+++ b/content/roadmaps/105-vue/content/101-advanced-topics/116-transition-group.md
@@ -0,0 +1 @@
+# Transition group
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/101-advanced-topics/readme.md b/content/roadmaps/105-vue/content/101-advanced-topics/readme.md
new file mode 100644
index 000000000..d1a09c94a
--- /dev/null
+++ b/content/roadmaps/105-vue/content/101-advanced-topics/readme.md
@@ -0,0 +1 @@
+# Advanced topics
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/102-ecosystem/100-routing/100-vue-router.md b/content/roadmaps/105-vue/content/102-ecosystem/100-routing/100-vue-router.md
new file mode 100644
index 000000000..db585be7a
--- /dev/null
+++ b/content/roadmaps/105-vue/content/102-ecosystem/100-routing/100-vue-router.md
@@ -0,0 +1 @@
+# Vue router
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/102-ecosystem/100-routing/readme.md b/content/roadmaps/105-vue/content/102-ecosystem/100-routing/readme.md
new file mode 100644
index 000000000..5904c1e21
--- /dev/null
+++ b/content/roadmaps/105-vue/content/102-ecosystem/100-routing/readme.md
@@ -0,0 +1 @@
+# Routing
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/102-ecosystem/101-forms/100-vue-formulate.md b/content/roadmaps/105-vue/content/102-ecosystem/101-forms/100-vue-formulate.md
new file mode 100644
index 000000000..c5a0ed718
--- /dev/null
+++ b/content/roadmaps/105-vue/content/102-ecosystem/101-forms/100-vue-formulate.md
@@ -0,0 +1 @@
+# Vue formulate
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/102-ecosystem/101-forms/101-vee-validate.md b/content/roadmaps/105-vue/content/102-ecosystem/101-forms/101-vee-validate.md
new file mode 100644
index 000000000..5e5958c80
--- /dev/null
+++ b/content/roadmaps/105-vue/content/102-ecosystem/101-forms/101-vee-validate.md
@@ -0,0 +1 @@
+# Vee validate
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/102-ecosystem/101-forms/102-vuelidate.md b/content/roadmaps/105-vue/content/102-ecosystem/101-forms/102-vuelidate.md
new file mode 100644
index 000000000..83754b3e6
--- /dev/null
+++ b/content/roadmaps/105-vue/content/102-ecosystem/101-forms/102-vuelidate.md
@@ -0,0 +1 @@
+# Vuelidate
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/102-ecosystem/101-forms/readme.md b/content/roadmaps/105-vue/content/102-ecosystem/101-forms/readme.md
new file mode 100644
index 000000000..4c010a860
--- /dev/null
+++ b/content/roadmaps/105-vue/content/102-ecosystem/101-forms/readme.md
@@ -0,0 +1 @@
+# Forms
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/102-ecosystem/102-ssr/100-quasar.md b/content/roadmaps/105-vue/content/102-ecosystem/102-ssr/100-quasar.md
new file mode 100644
index 000000000..e940ffaf5
--- /dev/null
+++ b/content/roadmaps/105-vue/content/102-ecosystem/102-ssr/100-quasar.md
@@ -0,0 +1 @@
+# Quasar
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/102-ecosystem/102-ssr/101-nuxt-js.md b/content/roadmaps/105-vue/content/102-ecosystem/102-ssr/101-nuxt-js.md
new file mode 100644
index 000000000..7e0303e9c
--- /dev/null
+++ b/content/roadmaps/105-vue/content/102-ecosystem/102-ssr/101-nuxt-js.md
@@ -0,0 +1 @@
+# Nuxt js
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/102-ecosystem/102-ssr/readme.md b/content/roadmaps/105-vue/content/102-ecosystem/102-ssr/readme.md
new file mode 100644
index 000000000..d2ae9d2e0
--- /dev/null
+++ b/content/roadmaps/105-vue/content/102-ecosystem/102-ssr/readme.md
@@ -0,0 +1 @@
+# Ssr
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/102-ecosystem/103-ssg/100-gridsome.md b/content/roadmaps/105-vue/content/102-ecosystem/103-ssg/100-gridsome.md
new file mode 100644
index 000000000..a524ebb4b
--- /dev/null
+++ b/content/roadmaps/105-vue/content/102-ecosystem/103-ssg/100-gridsome.md
@@ -0,0 +1 @@
+# Gridsome
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/102-ecosystem/103-ssg/101-vuepress.md b/content/roadmaps/105-vue/content/102-ecosystem/103-ssg/101-vuepress.md
new file mode 100644
index 000000000..7600abf83
--- /dev/null
+++ b/content/roadmaps/105-vue/content/102-ecosystem/103-ssg/101-vuepress.md
@@ -0,0 +1 @@
+# Vuepress
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/102-ecosystem/103-ssg/readme.md b/content/roadmaps/105-vue/content/102-ecosystem/103-ssg/readme.md
new file mode 100644
index 000000000..fdf447848
--- /dev/null
+++ b/content/roadmaps/105-vue/content/102-ecosystem/103-ssg/readme.md
@@ -0,0 +1 @@
+# Ssg
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/102-ecosystem/104-state-management/100-pinia.md b/content/roadmaps/105-vue/content/102-ecosystem/104-state-management/100-pinia.md
new file mode 100644
index 000000000..cdc6593a3
--- /dev/null
+++ b/content/roadmaps/105-vue/content/102-ecosystem/104-state-management/100-pinia.md
@@ -0,0 +1 @@
+# Pinia
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/102-ecosystem/104-state-management/readme.md b/content/roadmaps/105-vue/content/102-ecosystem/104-state-management/readme.md
new file mode 100644
index 000000000..c9ab9d07b
--- /dev/null
+++ b/content/roadmaps/105-vue/content/102-ecosystem/104-state-management/readme.md
@@ -0,0 +1 @@
+# State management
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/102-ecosystem/105-mobile-apps/100-capacitor.md b/content/roadmaps/105-vue/content/102-ecosystem/105-mobile-apps/100-capacitor.md
new file mode 100644
index 000000000..c7e468a91
--- /dev/null
+++ b/content/roadmaps/105-vue/content/102-ecosystem/105-mobile-apps/100-capacitor.md
@@ -0,0 +1 @@
+# Capacitor
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/102-ecosystem/105-mobile-apps/readme.md b/content/roadmaps/105-vue/content/102-ecosystem/105-mobile-apps/readme.md
new file mode 100644
index 000000000..02f7f8bf2
--- /dev/null
+++ b/content/roadmaps/105-vue/content/102-ecosystem/105-mobile-apps/readme.md
@@ -0,0 +1 @@
+# Mobile apps
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/102-ecosystem/106-api-calls/100-apollo.md b/content/roadmaps/105-vue/content/102-ecosystem/106-api-calls/100-apollo.md
new file mode 100644
index 000000000..845aec91d
--- /dev/null
+++ b/content/roadmaps/105-vue/content/102-ecosystem/106-api-calls/100-apollo.md
@@ -0,0 +1 @@
+# Apollo
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/102-ecosystem/106-api-calls/101-vue-relay.md b/content/roadmaps/105-vue/content/102-ecosystem/106-api-calls/101-vue-relay.md
new file mode 100644
index 000000000..3afe69127
--- /dev/null
+++ b/content/roadmaps/105-vue/content/102-ecosystem/106-api-calls/101-vue-relay.md
@@ -0,0 +1 @@
+# Vue relay
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/102-ecosystem/106-api-calls/102-axios.md b/content/roadmaps/105-vue/content/102-ecosystem/106-api-calls/102-axios.md
new file mode 100644
index 000000000..fd41e81cf
--- /dev/null
+++ b/content/roadmaps/105-vue/content/102-ecosystem/106-api-calls/102-axios.md
@@ -0,0 +1 @@
+# Axios
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/102-ecosystem/106-api-calls/103-unfetch.md b/content/roadmaps/105-vue/content/102-ecosystem/106-api-calls/103-unfetch.md
new file mode 100644
index 000000000..417376dc6
--- /dev/null
+++ b/content/roadmaps/105-vue/content/102-ecosystem/106-api-calls/103-unfetch.md
@@ -0,0 +1 @@
+# Unfetch
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/102-ecosystem/106-api-calls/104-superagent.md b/content/roadmaps/105-vue/content/102-ecosystem/106-api-calls/104-superagent.md
new file mode 100644
index 000000000..4e52ae96e
--- /dev/null
+++ b/content/roadmaps/105-vue/content/102-ecosystem/106-api-calls/104-superagent.md
@@ -0,0 +1 @@
+# Superagent
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/102-ecosystem/106-api-calls/readme.md b/content/roadmaps/105-vue/content/102-ecosystem/106-api-calls/readme.md
new file mode 100644
index 000000000..98983b8af
--- /dev/null
+++ b/content/roadmaps/105-vue/content/102-ecosystem/106-api-calls/readme.md
@@ -0,0 +1 @@
+# Api calls
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/102-ecosystem/107-jest.md b/content/roadmaps/105-vue/content/102-ecosystem/107-jest.md
new file mode 100644
index 000000000..535d60df1
--- /dev/null
+++ b/content/roadmaps/105-vue/content/102-ecosystem/107-jest.md
@@ -0,0 +1 @@
+# Jest
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/102-ecosystem/108-vue-testing-library.md b/content/roadmaps/105-vue/content/102-ecosystem/108-vue-testing-library.md
new file mode 100644
index 000000000..67ed1ace6
--- /dev/null
+++ b/content/roadmaps/105-vue/content/102-ecosystem/108-vue-testing-library.md
@@ -0,0 +1 @@
+# Vue testing library
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/102-ecosystem/109-cypress.md b/content/roadmaps/105-vue/content/102-ecosystem/109-cypress.md
new file mode 100644
index 000000000..c881065db
--- /dev/null
+++ b/content/roadmaps/105-vue/content/102-ecosystem/109-cypress.md
@@ -0,0 +1 @@
+# Cypress
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/102-ecosystem/110-tailwind-css.md b/content/roadmaps/105-vue/content/102-ecosystem/110-tailwind-css.md
new file mode 100644
index 000000000..d2015b322
--- /dev/null
+++ b/content/roadmaps/105-vue/content/102-ecosystem/110-tailwind-css.md
@@ -0,0 +1 @@
+# Tailwind css
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/102-ecosystem/111-vuetify.md b/content/roadmaps/105-vue/content/102-ecosystem/111-vuetify.md
new file mode 100644
index 000000000..1122f69b0
--- /dev/null
+++ b/content/roadmaps/105-vue/content/102-ecosystem/111-vuetify.md
@@ -0,0 +1 @@
+# Vuetify
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/102-ecosystem/112-element-ui.md b/content/roadmaps/105-vue/content/102-ecosystem/112-element-ui.md
new file mode 100644
index 000000000..6069eb14d
--- /dev/null
+++ b/content/roadmaps/105-vue/content/102-ecosystem/112-element-ui.md
@@ -0,0 +1 @@
+# Element ui
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/102-ecosystem/readme.md b/content/roadmaps/105-vue/content/102-ecosystem/readme.md
new file mode 100644
index 000000000..9d6bd4150
--- /dev/null
+++ b/content/roadmaps/105-vue/content/102-ecosystem/readme.md
@@ -0,0 +1 @@
+# Ecosystem
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/content/readme.md b/content/roadmaps/105-vue/content/readme.md
new file mode 100644
index 000000000..4e768b56d
--- /dev/null
+++ b/content/roadmaps/105-vue/content/readme.md
@@ -0,0 +1 @@
+#
\ No newline at end of file
diff --git a/content/roadmaps/105-vue/meta.json b/content/roadmaps/105-vue/meta.json
index 51341ecf8..1b51d1288 100644
--- a/content/roadmaps/105-vue/meta.json
+++ b/content/roadmaps/105-vue/meta.json
@@ -47,5 +47,6 @@
"name": "Kamran Ahmed",
"url": "https://twitter.com/kamranahmedse"
},
- "pdfUrl": "/pdfs/vue.pdf"
-}
+ "pdfUrl": "/pdfs/vue.pdf",
+ "contentPathsFilePath": "./content-paths.json"
+}
\ No newline at end of file
diff --git a/public/sitemap.xml b/public/sitemap.xml
index 46119661f..73192536c 100644
--- a/public/sitemap.xml
+++ b/public/sitemap.xml
@@ -33,43 +33,43 @@
https://roadmap.sh/vue
monthly
- 2022-08-08T14:27:17.274Z
+ 2022-08-08T14:53:14.763Z
1.0
https://roadmap.sh/android
monthly
- 2022-08-04T11:37:35.837Z
+ 2022-08-08T14:33:53.387Z
1.0
https://roadmap.sh/python
monthly
- 2022-08-04T11:37:35.844Z
+ 2022-08-08T14:33:53.388Z
1.0
https://roadmap.sh/golang
monthly
- 2022-08-04T11:37:35.847Z
+ 2022-08-08T14:33:53.389Z
1.0
https://roadmap.sh/java
monthly
- 2022-08-04T11:37:35.840Z
+ 2022-08-08T14:33:53.389Z
1.0
https://roadmap.sh/postgresql-dba
monthly
- 2022-08-04T11:37:35.848Z
+ 2022-08-08T14:33:53.390Z
1.0
https://roadmap.sh/qa
monthly
- 2022-08-04T11:37:35.836Z
+ 2022-08-08T14:33:53.391Z
1.0
diff --git a/scripts/content-skeleton.ts b/scripts/content-skeleton.ts
index 96897a490..fa27c5c58 100644
--- a/scripts/content-skeleton.ts
+++ b/scripts/content-skeleton.ts
@@ -43,6 +43,7 @@ const roadmaps: Record = {
java: require('../public/project/java.json'),
python: require('../public/project/python.json'),
react: require('../public/project/react.json'),
+ vue: require('../public/project/vue.json'),
angular: require('../public/project/angular.json'),
};