• 
      

    Add documentation on creating custom page banners.

    Review Request #15077 — Created May 26, 2026 and updated

    Information

    Review Board
    release-8.x

    Reviewers

    Page banners are a new feature in Review Board 8. They give extensions a
    consistent way of displaying important information at the top of any or
    all pages, using little more than a TemplateHook and some context
    variables, but allowing for more advanced interactions and content.

    This guide covers how to create page banners, walking through basic
    TemplateHook usage and working through subclasses for dynamic content,
    custom templates for additional layout and scripting, and details like
    how to use cookies and JavaScript to implement support for closing
    banners.

    Built the docs. Checked for build errors, spelling errors, and link
    errors.

    Ran this through Claude to check for additional problems.

    Summary ID
    Add documentation on creating custom page banners.
    Page banners are a new feature in Review Board 8. They give extensions a consistent way of displaying important information at the top of any or all pages, using little more than a `TemplateHook` and some context variables, but allowing for more advanced interactions and content. This guide covers how to create page banners, walking through basic `TemplateHook` usage and working through subclasses for dynamic content, custom templates for additional layout and scripting, and details like how to use cookies and JavaScript to implement support for closing banners.
    46e3bec7fb3ae1b6847257f7d60648ea2677afcb
    Description From Last Updated

    Reminder to reference this page in the release notes where we talk about custom page banners.

    maubin maubin

    Can we say "expired license warnings" instead.

    maubin maubin

    Points 1 and 3 sound a bit confusing together. How about something like: 1. **Banner templates are created** by using …

    maubin maubin

    Can we add something like this in a new paragraph below: See Closing Banners <extension-page-banners-closing>_ for more guidance.

    maubin maubin

    Add a "to" between "listen" and "a" here.

    maubin maubin

    Can we say "Here's an example that shows a banner only during maintenance hours:".

    maubin maubin
    Checks run (2 succeeded)
    flake8 passed.
    JSHint passed.
    maubin
    1. 
        
    2. Show all issues

      Reminder to reference this page in the release notes where we talk about custom page banners.

    3. Show all issues

      Can we say "expired license warnings" instead.

    4. docs/manual/extending/extensions/page-banners.rst (Diff revision 1)
       
       
       
       
       
       
       
       
       
      Show all issues

      Points 1 and 3 sound a bit confusing together. How about something like:

      1. **Banner templates are created** by using or subclassing
         :ref:`TemplateHook <template-hook>` along with
         :file:`ui/components/page-banner.html`.
      
      3. **Banners are registered** by instantiating the 
         :ref:`TemplateHook <template-hook>` using the   
         ``page-banners`` hook point in your extension.
      
    5. docs/manual/extending/extensions/page-banners.rst (Diff revision 1)
       
       
       
       
       
      Show all issues

      Can we add something like this in a new paragraph below:

      See Closing Banners <extension-page-banners-closing>_ for more guidance.

    6. Show all issues

      Add a "to" between "listen" and "a" here.

    7. Show all issues

      Can we say "Here's an example that shows a banner only during maintenance hours:".

    8.