indexes.coffee 1.2 KB

12345678910111213141516171819202122232425262728293031
  1. exports.site_docs =
  2. index: (doc) ->
  3. blocks = ['site_intro','site_home']
  4. types = ['essay','scene','video','profile']
  5. if doc.site and doc.type and types.indexOf(doc.type) >= 0 and doc.published is true
  6. content = doc.title + ' ' + doc.intro + ' ' + doc.body
  7. published = parseInt(doc.published_at.replace(/-/g,'').split('T')[0]) or 0
  8. updated = parseInt(doc.updated_at.replace(/-/g,'').split('T')[0]) or 0
  9. index 'default', content
  10. index 'site', doc.site
  11. index 'type', doc.type, {'store': 'yes'}
  12. index 'slug', doc.slug, {'store': 'yes'}
  13. index 'title', doc.title, {'store': 'yes'}
  14. index 'published', published, {'store': 'yes'}
  15. index 'updated', updated, {'store': 'yes'}
  16. else if doc.site and doc.type is 'collection'
  17. content = doc.name + ' ' + doc.intro
  18. index 'default', content
  19. index 'site', doc.site
  20. index 'type', doc.type, {'store': 'yes'}
  21. index 'slug', doc.slug, {'store': 'yes'}
  22. index 'title', doc.name, {'store': 'yes'}
  23. else if doc.type is 'block' and doc.code and blocks.indexOf(doc.code) >= 0 and doc.enabled is true
  24. index 'default', doc.content
  25. index 'site', doc.site
  26. index 'type', doc.type, {'store': 'yes'}