Skip to main content

Addon for Plone 6 - Plone Outputfilter to transform TinyMCE Markup to Bootstrap5 Accordion

Project description

README

Plone Meta Workflow codecov PyPI - Versions from Framework Classifiers

[!IMPORTANT] This addon works only with Plone 6.1 and higher

For Plone 6.0 use plone.staticresources >= 2.2.x

Who need this addon?

This addon provide a transform for HTML Markup. TinyMCE Plugin "accordion" insert the following Markup

<details class="mce-accordion" open="open">
<summary>Accordion Summary 1</summary>
<p>Text in the collapsible 1</p>
</details>
<details class="mce-accordion" open="open">
<summary>Accordion Summary 2</summary>
<p>Text in the collapsible 2</p>
</details>

it will be transformed to Bootstrap5 Accordion Markup

<div class="accordion" id="acc-bs0">
 <div class="accordion-item">
  <h2 class="accordion-header" id="heading-0-0">
   <button aria-controls="collapse-0-0" aria-expanded="true" class="accordion-button" data-bs-target="#collapse-0-0" data-bs-toggle="collapse" type="button">
    Accordion Summary 1
   </button>
  </h2>
  <div aria-labelledby="heading-0-0" class="accordion-collapse collapse show" data-bs-parent="#acc-bs0" id="collapse-0-0">
   <div class="accordion-body">
    <p>Text in the collapsible 1</p>
   </div>
  </div>
 </div>
 <div class="accordion-item">
  <h2 class="accordion-header" id="heading-0-1">
   <button aria-controls="collapse-0-1" aria-expanded="true" class="accordion-button" data-bs-target="#collapse-0-1" data-bs-toggle="collapse" type="button">
    Accordion Summary 2
   </button>
  </h2>
  <div aria-labelledby="heading-0-1" class="accordion-collapse collapse show" data-bs-parent="#acc-bs0" id="collapse-0-1">
   <div class="accordion-body">
    <p>Text in the collapsible 2</p>
   </div>
  </div>
 </div>
</div>

Registry Settings

Some values in registry records are set:

"plone.plugins"

  • accordion

plone.valid_tags

  • summary
  • details
  • button

plone.custom_attributes

  • open
  • type
  • data-bs-toggle
  • data-bs-target
  • aria-expanded
  • aria-controls
  • aria-labelledby
  • data-bs-parent

Enable the accordion toolbar button in the Menu JSON Structure in the TinyMCE Controlpanel. Per default this addon enable the accordion option in the insert menu section.

Menu

{
    "insert": {
        "title": "Insert",
        "items": "link media | template hr | accordion"
    },
}

Please check the TinyMCE controlpanel that the values are set correct.

Optional configuration

If environment variable ACCORDION_ALWAYS_OPEN is set, accordion items stay open when another item is opened. See Bootstrap accordion documentation.

Install Addon via buildout

add collective.outputfilters.tinymceaccordion to your egg section in buildout.cfg

Install Addon via pip

pip install collective.outputfilters.tinymceaccordion

Install a Testenvironment

run make build

Start the instance

run make start

Format and Linting

run make check

Testing

run make test

Testing with coverage

run make test-coverage

Contributors

  • 1letter
  • mauritsvanrees

Changelog

2.0.0 (2025-12-18)

Breaking changes:

  • Switch to PEP 420 native namespace @1letter

Internal:

  • update package with plone/meta @1letter

1.1.0 (2025-07-15)

New features:

  • If environment variable ACCORDION_ALWAYS_OPEN is set, accordion items stay open when another item is opened. @mauritsvanrees #16

1.0.1 (2025-06-24)

Bug fixes:

  • Fix updating registry records when installing. Previously, our configuration changes could be gone after a restart. If your accordions don't work, you can deactivate and activate this add-on to fix it. @mauritsvanrees #15

Tests:

  • Do not require plone.app.robotframework for testing. We don't have robot tests. This avoids running rfbrowser init on each test run. @mauritsvanrees

1.0.0 (2025-06-23)

Internal:

  • Update README @1letter readme
  • Update configuration files @plone

Tests:

  • move tests to pytest @1letter pytest

1.0a7 (2024-04-29)

Internal:

  • Update README @1letter #7

1.0a6 (2024-04-28)

Internal:

  • Update README @1letter

1.0a5 (2024-04-28)

Internal:

  • Update README @1letter

1.0a4 (2024-04-28)

Internal:

  • remove unused files @1letter

1.0a3 (2024-04-28)

Internal:

  • Update configuration files @plone

1.0a3 (unreleased)

  • Nothing changed yet.

1.0a2 (2024-04-19)

  • Initial release. @1letter

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file collective_outputfilters_tinymceaccordion-2.0.0.tar.gz.

File metadata

File hashes

Hashes for collective_outputfilters_tinymceaccordion-2.0.0.tar.gz
Algorithm Hash digest
SHA256 d2a09751dbc1ceaf39b61a4dc5d1027c117472ed3eadac324eb0a2401e3ef72b
MD5 7f1e076c6823b4d2d92205cd9a088ad8
BLAKE2b-256 105f74ea70ca3f912b00423aec47fcf325b4b33f04116ecb7712a3b3e3bd6df1

See more details on using hashes here.

File details

Details for the file collective_outputfilters_tinymceaccordion-2.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for collective_outputfilters_tinymceaccordion-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bed6ef5bf8ce074ab15be56c5f5cb3b9e09daa4e626ce33f6e07f64edda05558
MD5 1c524595db540151e21e0cfdf50a9434
BLAKE2b-256 f3c3699807bb8dce85dcebcf6571ed1be2f3441615f4b66eefad178491e83857

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page