Skip to content
Snippets Groups Projects
Commit 6d5554ae authored by Henrik Askjer's avatar Henrik Askjer
Browse files

Add social media sharing

parent 60bb9983
No related branches found
No related tags found
No related merge requests found
...@@ -12,6 +12,9 @@ build-dev: ...@@ -12,6 +12,9 @@ build-dev:
script: script:
- npm install --progress=false - npm install --progress=false
- npm run build -- --mode dev_server - npm run build -- --mode dev_server
- npm install --save vue-social-sharing
- npm install --save @fortawesome/vue-fontawesome@latest
- npm install --save @fortawesome/free-brands-svg-icons
artifacts: artifacts:
expire_in: 1 week expire_in: 1 week
paths: paths:
......
...@@ -32,9 +32,31 @@ ...@@ -32,9 +32,31 @@
</router-link> </router-link>
</div> </div>
</div> </div>
</article> <div class="share">
<button class="share-button">
<ShareNetwork network="facebook"
:url="share_link"
title="TITLE"
description="DESCRIPTION"
quote="QUOTE">
<font-awesome-icon :icon="['fab', 'facebook-square']" size="lg" />
</ShareNetwork>
</button>
<button class="share-button">
<ShareNetwork
network="twitter"
:url="share_link"
title="TITLE"
description="DESCRIPTION"
hashtags="Ordbøkene">
<font-awesome-icon :icon="['fab', 'twitter-square']" size="lg" />
</ShareNetwork>
</button>
</div>
</article>
</template> </template>
<script src="/dist/vue-social-sharing.js"></script>
<script> <script>
import DefElement from './DefElement.vue' import DefElement from './DefElement.vue'
import Definition from './Definition.vue' import Definition from './Definition.vue'
...@@ -81,6 +103,9 @@ export default { ...@@ -81,6 +103,9 @@ export default {
article: this.article article: this.article
} }
}, },
share_link: function() {
return 'https://beta.ordbok.uib.no/' + this.dictionary + '/' + this.article.article_id + '/' + encodeURIComponent(this.article.lemmas[0].lemma)
},
dictionary: function() { dictionary: function() {
return this.article.dictionary return this.article.dictionary
}, },
...@@ -141,6 +166,16 @@ h3 { ...@@ -141,6 +166,16 @@ h3 {
font-variant: small-caps; font-variant: small-caps;
} }
div.share {
color: #560027;
padding-top: 24px;
}
.share-button {
padding-right: 4px;
display: inline;
}
section.etymology > h3, section.pronunciation > h3 { section.etymology > h3, section.pronunciation > h3 {
display: inline; display: inline;
font-size: 14px; font-size: 14px;
......
...@@ -7,6 +7,17 @@ import VueRouter from 'vue-router' ...@@ -7,6 +7,17 @@ import VueRouter from 'vue-router'
import { VuePlausible } from 'vue-plausible' import { VuePlausible } from 'vue-plausible'
import vuetify from './plugins/vuetify' import vuetify from './plugins/vuetify'
import VueSocialSharing from 'vue-social-sharing'
Vue.use(VueSocialSharing);
import { library } from '@fortawesome/fontawesome-svg-core'
import { faFacebookSquare, faTwitterSquare } from '@fortawesome/free-brands-svg-icons'
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'
library.add(faFacebookSquare, faTwitterSquare)
Vue.component('font-awesome-icon', FontAwesomeIcon);
Vue.config.productionTip = false Vue.config.productionTip = false
Vue.use(VueRouter) Vue.use(VueRouter)
Vue.use(VuePlausible, { Vue.use(VuePlausible, {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment