diff options
Diffstat (limited to 'components/PostLink.vue')
-rw-r--r-- | components/PostLink.vue | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/components/PostLink.vue b/components/PostLink.vue new file mode 100644 index 0000000..9ee24b7 --- /dev/null +++ b/components/PostLink.vue @@ -0,0 +1,72 @@ +<template> + <div class="post-link"> + <a :href="route"> + <div class="post-container"> + <h4 class="post-title">{{title}}</h4> + <p class="post-description">{{shortenedDescription}}...</p> + </div> + </a> + </div> +</template> + +<script> +export default { + name: 'PostLink', + props: { + title: { + type: String, + required: true + }, + description: { + type: String, + default: '' + }, + route: { + type: String, + required: true + } + }, + computed: { + shortenedDescription() { + const first30Words = this.description.split(' ').slice(0, 30) + return first30Words.join(' ') + } + } +} +</script> + +<style scoped> +.post-link { + margin: 20px; + flex-basis: 410px; + max-width: 410px; + height: 250px; + box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25); + background: #ffffff; + text-align: left; + transition: transform 300ms ease-in-out; +} + +.post-link:hover { + box-shadow: 0 0 20px rgba(0, 0, 0, 0.15); + transform: scale(1.02); +} + +.post-link > a { + text-decoration: none; +} + +.post-link .post-container { + padding: 20px; +} + +.post-link .post-title { + color: #181818; + font-size: 1.3em; +} + +.post-link .post-description { + color: #484848; + font-size: 0.9em; +} +</style> \ No newline at end of file |