Explorar el Código

docs: add carbon ads

DIYgod hace 3 años
padre
commit
ba61ce3dfb

+ 1 - 0
docs/.vuepress/config.js

@@ -38,6 +38,7 @@ module.exports = {
         ['script', { src: 'https://cdn.jsdelivr.net/webtorrent/latest/webtorrent.min.js' }],
         ['script', { src: 'https://cdn.jsdelivr.net/npm/dplayer/dist/DPlayer.min.js' }],
     ],
+    theme: 'vuepress-theme-dplayer',
     themeConfig: {
         repo: 'MoePlayer/DPlayer',
         editLinks: true,

+ 65 - 0
docs/.vuepress/theme/components/CarbonAds.vue

@@ -0,0 +1,65 @@
+<script>
+export default {
+  name: 'CarbonAds',
+
+  watch: {
+    '$route' (to, from) {
+      if (
+        to.path !== from.path
+        // Only reload if the ad has been loaded
+        // otherwise it's possible that the script is appended but
+        // the ads are not loaded yet. This would result in duplicated ads.
+        && this.$el.querySelector('#carbonads')
+      ) {
+        this.$el.innerHTML = ''
+        this.load()
+      }
+    }
+  },
+
+  mounted () {
+    this.load()
+  },
+
+  methods: {
+    load () {
+      const s = document.createElement('script')
+      s.id = '_carbonads_js'
+      s.src = `//cdn.carbonads.com/carbon.js?serve=CEAI6277&placement=dplayerjsorg`
+      this.$el.appendChild(s)
+    }
+  },
+
+  render (h) {
+    return h('div', { class: 'carbon-ads' })
+  }
+}
+</script>
+
+<style lang="stylus">
+.carbon-ads
+  min-height 102px
+  padding 1.5rem 1.5rem 0
+  margin-bottom -0.5rem
+  font-size 0.75rem
+  a
+    color #444
+    font-weight normal
+    display inline
+  .carbon-img
+    float left
+    margin-right 1rem
+    border 1px solid $borderColor
+    img
+      display block
+  .carbon-poweredby
+    color #999
+    display block
+    margin-top 0.5em
+
+@media (max-width: $MQMobile)
+  .carbon-ads
+    .carbon-img img
+      width 100px
+      height 77px
+</style>

+ 3 - 0
docs/.vuepress/theme/index.js

@@ -0,0 +1,3 @@
+module.exports = {
+    extend: '@vuepress/theme-default',
+};

+ 21 - 0
docs/.vuepress/theme/layouts/Layout.vue

@@ -0,0 +1,21 @@
+<template>
+  <ParentLayout>
+    <template #sidebar-top>
+      <CarbonAds />
+    </template>
+  </ParentLayout>
+</template>
+
+<script>
+import ParentLayout from '@parent-theme/layouts/Layout.vue'
+import CarbonAds from '@theme/components/CarbonAds.vue'
+
+export default {
+  name: 'Layout',
+
+  components: {
+    ParentLayout,
+    CarbonAds,
+  }
+}
+</script>

+ 4 - 0
docs/.vuepress/theme/package.json

@@ -0,0 +1,4 @@
+{
+    "name": "vuepress-theme-dplayer",
+    "main": "index.js"
+}