__init__.py 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. """
  2. Blocks module entry point. Used to cleanly organize blocks into
  3. individual files based on purpose, but provide them all as a
  4. single `blocks` module.
  5. """
  6. from django.utils.translation import ugettext_lazy as _
  7. from .base_blocks import * #noqa
  8. from .html_blocks import * #noqa
  9. from .metadata_blocks import * #noqa
  10. from .content_blocks import * #noqa
  11. from .layout_blocks import * #noqa
  12. # Collections of blocks commonly used together.
  13. HTML_STREAMBLOCKS = [
  14. ('text', blocks.RichTextBlock(icon='fa-file-text-o')),
  15. ('button', ButtonBlock()),
  16. ('image', ImageBlock()),
  17. ('image_link', ImageLinkBlock()),
  18. ('html', blocks.RawHTMLBlock(icon='code', classname='monospace', label=_('HTML'))),
  19. ('download', DownloadBlock()),
  20. ('embed_video', EmbedVideoBlock()),
  21. ('quote', QuoteBlock()),
  22. ('table', TableBlock()),
  23. ('google_map', EmbedGoogleMapBlock()),
  24. ]
  25. CONTENT_STREAMBLOCKS = HTML_STREAMBLOCKS + [
  26. ('card', CardBlock()),
  27. ('carousel', CarouselBlock()),
  28. ('image_gallery', ImageGalleryBlock()),
  29. ('page_list', PageListBlock()),
  30. ('modal', ModalBlock(HTML_STREAMBLOCKS)),
  31. ('pricelist', PriceListBlock()),
  32. ('reusable_content', ReusableContentBlock()),
  33. ]
  34. NAVIGATION_STREAMBLOCKS = [
  35. ('page_link', NavPageLinkWithSubLinkBlock()),
  36. ('external_link', NavExternalLinkWithSubLinkBlock()),
  37. ('document_link', NavDocumentLinkWithSubLinkBlock()),
  38. ]
  39. BASIC_LAYOUT_STREAMBLOCKS = [
  40. ('row', GridBlock(HTML_STREAMBLOCKS)),
  41. ('html', blocks.RawHTMLBlock(icon='code', classname='monospace', label=_('HTML'))),
  42. ]
  43. LAYOUT_STREAMBLOCKS = [
  44. ('row', GridBlock(CONTENT_STREAMBLOCKS)),
  45. ('cardgrid', CardGridBlock([
  46. ('card', CardBlock()),])
  47. ),
  48. ('hero', HeroBlock([
  49. ('row', GridBlock(CONTENT_STREAMBLOCKS)),
  50. ('html', blocks.RawHTMLBlock(icon='code', classname='monospace', label=_('HTML'))),])
  51. ),
  52. ('html', blocks.RawHTMLBlock(icon='code', classname='monospace', label=_('HTML'))),
  53. ]