diff --git a/package.json b/package.json index 3d646ac..2d2214a 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,9 @@ "build": "cross-env NODE_ENV=production webpack --progress --hide-modules" }, "dependencies": { - "vue": "^2.2.1" + "vue": "^2.2.1", + "vue-resource": "^1.2.1", + "vue-router": "^2.3.1" }, "devDependencies": { "babel-core": "^6.0.0", diff --git a/src/App.vue b/src/App.vue index 7b5bbb8..bfb1353 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,43 +1,27 @@ diff --git a/src/components/Footer.vue b/src/components/Footer.vue deleted file mode 100644 index 89c8051..0000000 --- a/src/components/Footer.vue +++ /dev/null @@ -1,30 +0,0 @@ - - - diff --git a/src/components/Header.vue b/src/components/Header.vue deleted file mode 100644 index 44d4753..0000000 --- a/src/components/Header.vue +++ /dev/null @@ -1,35 +0,0 @@ - - - diff --git a/src/components/Ninjas.vue b/src/components/Ninjas.vue deleted file mode 100644 index c38a61b..0000000 --- a/src/components/Ninjas.vue +++ /dev/null @@ -1,54 +0,0 @@ - - - diff --git a/src/components/addBlog.vue b/src/components/addBlog.vue new file mode 100644 index 0000000..4a107dd --- /dev/null +++ b/src/components/addBlog.vue @@ -0,0 +1,108 @@ + + + + + diff --git a/src/components/header.vue b/src/components/header.vue new file mode 100644 index 0000000..9cf48f0 --- /dev/null +++ b/src/components/header.vue @@ -0,0 +1,39 @@ + + + + + diff --git a/src/components/listBlogs.vue b/src/components/listBlogs.vue new file mode 100644 index 0000000..a80f110 --- /dev/null +++ b/src/components/listBlogs.vue @@ -0,0 +1,42 @@ + + + + + diff --git a/src/components/showBlogs.vue b/src/components/showBlogs.vue new file mode 100644 index 0000000..8f980a7 --- /dev/null +++ b/src/components/showBlogs.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/src/components/singleBlog.vue b/src/components/singleBlog.vue new file mode 100644 index 0000000..8e91155 --- /dev/null +++ b/src/components/singleBlog.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/main.js b/src/main.js index 385fcfe..b1f23aa 100644 --- a/src/main.js +++ b/src/main.js @@ -1,7 +1,21 @@ import Vue from 'vue' +import VueResource from 'vue-resource' +import VueRouter from 'vue-router' import App from './App.vue' +import Routes from './routes' + +// Use packages +Vue.use(VueResource); +Vue.use(VueRouter); + +// Register routes +const router = new VueRouter({ + routes: Routes, + mode: 'history' +}); new Vue({ el: '#app', - render: h => h(App) + render: h => h(App), + router: router }) diff --git a/src/mixins/searchMixin.js b/src/mixins/searchMixin.js new file mode 100644 index 0000000..6d62786 --- /dev/null +++ b/src/mixins/searchMixin.js @@ -0,0 +1,9 @@ +export default { + computed: { + filteredBlogs: function(){ + return this.blogs.filter((blog) => { + return blog.title.match(this.search); + }); + } + } +}; diff --git a/src/routes.js b/src/routes.js new file mode 100644 index 0000000..45b5c3d --- /dev/null +++ b/src/routes.js @@ -0,0 +1,9 @@ +import addBlog from './components/addBlog.vue'; +import showBlogs from './components/showBlogs.vue'; +import singleBlog from './components/singleBlog.vue'; + +export default [ + { path: '/', component: showBlogs}, + { path: '/add', component: addBlog}, + { path: '/blog/:id', component: singleBlog} +]