Getting Started Omeka Classic plugin

Configuration

Block Suite has one setting, no permission rules and no database tables. Everything else is set per block in the exhibit page editor, and per shortcode in the text.

Keep page markup when Omeka filters HTML

Plugins › BlockSuite › Configure has one option, on by default: Keep page markup when Omeka filters HTML.

With Settings › Security › Enable HTML Filtering on (Omeka's default), Omeka passes every Simple Page, exhibit text block, exhibit description and Configure Theme text through its HTML filter (HTMLPurifier) when you save it. That filter knows only HTML 4, so it removes newer elements, such as <section>, <nav>, <figure>, <figcaption> and <time>, and attributes such as aria-label and role, even if you add them to Allowed HTML Elements and Allowed HTML Attributes (Omeka then only shows "not supported" warnings). The markup of the theme's content classes (pictures with captions, link cards with a label, preview sections, dates) is lost on save.

With the option on, Block Suite teaches the filter these HTML5 elements and attributes, through Omeka's own html_purifier_config_setup filter:

Kind Added
Elements section, nav, aside, header, footer, article, figure, figcaption (inside figure), mark, time, details, summary (inside details); div groups of terms and descriptions inside dl, as HTML5 allows
Attributes aria-label, aria-labelledby, aria-describedby, aria-hidden, aria-current and role on every element; datetime on time; open on details; loading and decoding on img; the theme engine's card attributes, data-layout (grid or list, on a list of cards) and data-lines (3 or 5, on card text)

Omeka's settings stay in charge: an element or attribute is kept only when it is also on the allowed lists under Settings › Security. When the option is turned on (and when Block Suite is installed), Block Suite adds the missing ones to those lists. Upgrading Block Suite with the option on adds only the entries new in that version, so an entry you removed stays removed:

  • Allowed HTML Elements: section, nav, aside, header, footer, article, figure, figcaption, mark, time, details, summary, img
  • Allowed HTML Attributes: *.aria-label, *.aria-labelledby, *.aria-describedby, *.aria-hidden, *.aria-current, *.role, time.datetime, details.open, img.src, img.alt, img.loading, img.decoding, *.data-layout, *.data-lines

The lists stay yours: remove an entry under Settings › Security to have the filter remove it again; Block Suite does not put it back unless you turn the option off and on. Turning the option off, or uninstalling Block Suite, leaves the lists as they are. If you turn the option off, remove the HTML5 elements from the lists too, or Omeka warns that they are not supported each time it filters.

The option does not change text saved earlier: markup the filter removed before is gone, so paste it again and save.

What the plugin registers

Registration Value
Exhibit layouts (exhibit_layouts filter) bs-hero, bs-lead, bs-callout, bs-pullquote, bs-columns, bs-cta, bs-stats, bs-timeline, bs-cards, bs-spotlight, bs-slider, bs-logos, bs-search, bs-tabs, bs-accordion, bs-divider
Shortcodes bs_search, bs_stats, bs_cta, bs_items, bs_timeline, bs_divider
View helper $this->blockSuite()
Filters Display, SimplePagesPage, text: a shortcode alone in a paragraph is taken out of the <p>. html_purifier_config_setup: the HTML5 definitions (see above)
Hooks install, uninstall, config_form, config, initialize (hands Omeka a purifier built with the definitions), public_head, exhibit_builder_page_head, admin_head
Option blocksuite_keep_markup (1 on, 0 off); removed on uninstall

Where options are stored

Each block keeps its options in Exhibit Builder's own block options (JSON in the exhibit_page_blocks table), its text in the block text and its items as block attachments, exactly like Exhibit Builder's built-in layouts. Exporting or copying exhibits keeps them.

Assets

Nothing is loaded on pages without a block or shortcode.

File Loaded
views/shared/exhibit_layouts/<layout>/layout.css By Exhibit Builder, on exhibit pages that use the layout (and by shortcodes that render it)
views/shared/css/blocksuite.css With any block: shared tokens, buttons, spacing
views/shared/css/blocksuite-standalone.css Only with themes not built on the RefBytes Theme Engine: a plain look for the engine components Block Suite uses
views/shared/javascripts/blocksuite.js Pages with an Item Slider, Tabs or Accordion (no dependencies; not jQuery, not jCarousel)
views/admin/css/blocksuite-admin.css, views/admin/javascripts/blocksuite-admin.js The exhibit page editor

On Simple Pages and the home page the stylesheets go in the page head. Where Block Suite cannot know in advance that a text holds a shortcode, the shortcode prints its stylesheet link (and script) just before its block, once per page.

Defaults

Block Setting Default
Hero Style, height, heading level Text over the image, Standard, Heading 2
Call to Action Background, alignment Lightly tinted, Centered
Callout Color Primary
Columns Columns, split Two, Flowing
Statistics Style, alignment Plain figures, Centered
Timeline Events, order, images From the text, By date, Shown
Item Cards Layout, card text Grid, Caption else description
Spotlight Fields, image position Creator, Date, Type, Subject; Left
Item Slider Cards in view, slide automatically, seconds 3, Off, 6
Logo Wall Size, links, captions Medium, On, On
Search Box Search Everything on the site
Tabs, Accordion Split at The highest heading level used
Accordion Open first, several open On, Off
Divider Style, space Ornament, Medium
Log in for Support