Vue.jsで軽量なタイムラインを実装する「vue-light-timeline」

by kabanoki

HTML

<div id="app">
  <light-timeline :items='items'></light-timeline>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.10/vue.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/index.min.js"></script>

CSS

body {
  background: #20262E;
  padding: 20px;
  font-family: Helvetica;
}

#app {
  background: #fff;
  border-radius: 4px;
  padding: 20px;
  transition: all 0.2s;
}

Vue

const LightTimeline = window['vueLightTimeline'].default;
Vue.use(LightTimeline);

new Vue({
  el: '#app', 
  data: {
    items: [
        {
          tag: '2020-01-12',
          content: 'hallo'
        },
        {
          tag: '2020-01-13',
          color: '#dcdcdc',
          type: 'circle',
          content: 'world'
        },
        {
          type: 'star',
          tag: '2020-01-14',
          htmlMode: true,
          content: `<div style="color: red;"> =v = </div>`
        }
      ]
  }
});