feat: add buysellads

pull/90/head
Eduardo San Martin Morote 5 years ago
parent d865a202e1
commit 2478b53c07

@ -8,13 +8,13 @@
<SideBar>
<template #top>
<slot name="sidebar-top">
<!-- <CarbonAds
<!-- use the title to force a new ad for every navigation -->
<CarbonAds
v-if="$site.themeConfig.carbonAds"
:key="$page.title"
:serve="$site.themeConfig.carbonAds.serve"
:placement="$site.themeConfig.carbonAds.placement"
/> -->
Hello
/>
</slot>
</template>
<template #bottom>
@ -28,7 +28,22 @@
@click="toggleSidebar(false)"
/>
<main>
<Page />
<Page>
<template #top>
<slot name="page-top" />
</template>
<template #bottom>
<slot name="page-bottom">
<!-- use the title to force a new ad for every navigation -->
<BuySellAds
v-if="$site.themeConfig.carbonAds"
:key="$page.title"
:serve="$site.themeConfig.carbonAds.serve"
:placement="$site.themeConfig.carbonAds.placement"
/>
</slot>
</template>
</Page>
</main>
</div>
<Debug />
@ -41,6 +56,7 @@ import ToggleSideBarButton from './components/ToggleSideBarButton.vue'
import SideBar from './components/SideBar.vue'
import Page from './components/Page.vue'
import CarbonAds from './components/CarbonAds.vue'
import BuySellAds from './components/BuySellAds.vue'
export default {
components: {
@ -48,7 +64,8 @@ export default {
ToggleSideBarButton,
SideBar,
Page,
CarbonAds
CarbonAds,
BuySellAds
},
setup() {

@ -0,0 +1,109 @@
<script>
import { h, onMounted } from 'vue'
/* global _bsa */
const ID = 'bsa-cpc-script'
export default {
name: 'BuySellAds',
props: {
serve: {
type: String,
required: true
},
placement: {
type: String,
required: true
}
},
setup(props) {
function load() {
if (typeof _bsa !== 'undefined' && _bsa) {
_bsa.init('default', props.serve, `placement:${props.placement}`, {
target: '.bsa-cpc',
align: 'horizontal',
disable_css: 'true'
})
}
}
onMounted(() => {
if (!document.getElementById(ID)) {
const s = document.createElement('script')
s.id = ID
s.src = `//m.servedby-buysellads.com/monetization.js`
document.head.appendChild(s)
s.onload = () => {
load()
}
} else {
load()
}
})
return () =>
h('div', { class: 'bsa-cpc-wrapper' }, [h('div', { class: 'bsa-cpc' })])
}
}
</script>
<style>
.bsa-cpc-wrapper {
font-size: 0.95rem;
/* from Page.vue */
max-width: 50rem;
margin: 0px auto;
padding: 1rem 2rem 0;
margin-bottom: -1rem;
}
@media (max-width: 419px) {
.bsa-cpc-wrapper {
padding: 0 1.5rem;
}
}
.bsa-cpc {
font-size: 0.9em;
background-color: #f8f8f8;
border-radius: 6px;
}
.bsa-cpc a._default_ {
text-align: left;
display: block;
text-decoration: none;
padding: 10px 15px 12px;
margin-bottom: 20px;
color: #666;
font-weight: 400;
line-height: 18px;
}
.bsa-cpc a._default_ .default-image img {
height: 20px;
border-radius: 3px;
vertical-align: middle;
position: relative;
top: -1px;
}
.bsa-cpc a._default_ .default-title {
font-weight: 600;
}
.bsa-cpc a._default_ .default-description:after {
font-size: 0.85em;
content: 'Sponsored';
color: #1c90f3;
border: 1px solid #1c90f3;
border-radius: 3px;
padding: 0 4px 1px;
margin-left: 6px;
}
.bsa-cpc .default-ad {
display: none;
}
.bsa-cpc a._default_ .default-image,
.bsa-cpc a._default_ .default-title,
.bsa-cpc a._default_ .default-description {
display: inline;
vertical-align: middle;
margin-right: 6px;
}
</style>

@ -1,8 +1,10 @@
<template>
<div class="content">
<slot name="top" />
<Content />
<NextAndPrevLinks />
<PageEdit />
<slot name="bottom" />
</div>
</template>
@ -10,7 +12,7 @@
import NextAndPrevLinks from './NextAndPrevLinks.vue'
import PageEdit from './PageEdit.vue'
export default {
components:{ NextAndPrevLinks, PageEdit }
components: { NextAndPrevLinks, PageEdit }
}
</script>
@ -18,6 +20,7 @@ export default {
.content {
margin: 0 auto;
padding: 0.025rem 2.5rem 2rem;
/* if this is moved to a variable, add it to BuySellAds.vue */
max-width: 50rem;
}

Loading…
Cancel
Save