summaryrefslogtreecommitdiff
path: root/public/assets/site.js
blob: ff109da045b7417b5df4d0b06b61dd0882d91a4e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
var site = {}

$(function(){
  $.getJSON('/db.json', function(data){
    site = data
    var entries = site.entries = {}
    site.entry.forEach(function(entry){
      entries[entry.id] = entry
      entry.tags = entry.tags.split('#').map(function(tag){
        return tag.trim()
      })
    })
    ready()
  })
})

function ready() {
  bind()
  build()
}
function bind(){
  $('.cell').click( function(){
    var id = $(this).data().id
    var entry = site.entries[id]
    show_entry(entry)
  })
  $('.close').click( function(){
    close_modals()
  })
  $('.tag').click( function(){
    var tag = $(this).html()
    filter_by_tag(tag)
  })
}
function build(){
  $('.cell').each( function(){
    var id = $(this).data().id
    var entry = site.entries[id]
    if (! entry) return
    if (entry.media && entry.media.length) {
      var media = entry.media[0]
      switch (media.type) {
        case 'youtube':
          bg = media.thumb
          break
        case 'image':
          bg = media.uri
          break
      }
      $(this).css('background-image', 'url(' + bg + ')')
    }
  })
}

function show_entry(entry){
  console.log('showing', entry)
  $('#entry h2').html(entry.title)
  $('#entry .content').html(newlineToBr(entry.body))
  $('#entry .media').empty()
  if (entry.gallery) {
    
  }
  else {
    
  }
  $('body').addClass('entry')
}
function hide_entry(){
  setTimeout(clear_entry, 500)
}
function clear_entry(){
}
function close_modals(){
  $('body').removeClass('entry').removeClass('about')
}

function newlineToBr(s){ return s.replace(/\n/g,'<br>') }