Skip to content

New feature idea: StreamField #1428

Open

Description

@wakproductions

Sometimes it can be helpful to have an open-ended way of writing your content. You can use the Text page part which gives you rich text with possibility for custom components, but it can be difficult to recycle elements and sometimes the Trix editor doesn't work so well. It's also difficult to programmatically digest the rich text kind of content if you want to do certain mass edits.

Wagtail has a component called StreamField, a page part that allows you to mix and match subcomponents. It's great for writing blogs with varied content. I created a working prototype of this that can be used in Spina. It's based on the Repeater component, but allows you to choose from any set of components you pre-registered in the theme settings.

Image

Would you mind if I make a PR to integrate this component into core Spina? I can probably add documentation on how to use it wherever that exists as well.

Youtube: StreamField in Wagtail

Activity

  1. wakproductions commented on May 15, 2026

    @wakproductions
    ContributorAuthor

    @Bramjetten is this project still under active feature development?

  2. Bramjetten commented on May 15, 2026

    @Bramjetten
    Contributor

    @Bramjetten is this project still under active feature development?

    Yes! The feature you built doesn't match the philosophy I built Spina with. I think it's best to add this feature as a separate gem for now!

    Also, I'm planning to merge Spina Pro's features with Spina, so we can have built-in datetime fields that you can order pages with as well.

  3. wakproductions commented on May 15, 2026

    @wakproductions
    ContributorAuthor

    Thanks for responding. I understand if it's hard to find the time to look at all the new PRs. Let us all know if you need help with maintainers since this is a great Rubygem.

  4. wakproductions commented on May 22, 2026

    @wakproductions
    ContributorAuthor

    Yes! The feature you built doesn't match the philosophy I built Spina with. I think it's best to add this feature as a separate gem for now!

    It would be helpful if you can elaborate how it does not fit into the philosophy. I can give this a try as a separate gem.

  5. wakproductions commented on May 23, 2026

    @wakproductions
    ContributorAuthor
  6. macsimacsi commented on Jun 26, 2026

    @macsimacsi

    I love this idea!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions