Slug based linked headlines in volto-slate GSOC project

Hey Plone Community,

I'm planning to propose a solution to the 'Slug based linked headlines in volto-slate' project, just wanted to get some clarity on the project:

The projects aims to add an id tag to the heading tags in Volto based on the content in the headings and these ids will be used to navigate to that heading tag, As this will be a breaking change for projects having component shadows of components like title, TOC, TextBlockView, we should probably add this functionality as a plugin for plone-volto which users can opt in based on their requirements.

I'm just sharing what I'm able to make from the description given in the plone gsoc page and github discussion for this feature. Can any of the mentors for this project confirm whether this project is confirmed for GSOC'23 and whether my assumptions are correct? I wrote them on github as well.

@sneridagh @tiberiuichim @nileshgulia1

Thanks! :slight_smile:

I can't confirm the GSOC project status, sorry, I haven't kept track of anything GSOC related.

There is already code started on this feature. The existing code is already used in production, as can be seen by hovering over this headline: Key partners

What remains to be done are probably "nice to have" and fill in the gaps in the other blocks. Maybe @nileshgulia1 knows more about this. @tisto and @sneridagh may have some input on what's needed on the Kitconcept side of things.

Cool, It would be awesome if the Plone team could host some sessions or interactions in the community to provide better clarity on GSOC projects this year and what contributions they are expecting from the participants. Thanks!

In addition to this, I thought maybe we could also have the possibility to let user create their own anchors for a particular block similar to how gutenberg does. However, it's not a typical case for our clients where we want this as we can't imagine a user's perspective of adding a link and how crazy those links can be. I'm open to inputs from other Volto adopters.

We already have a volto-addon for slug based headlines GitHub - eea/volto-anchors: Slug based anchor links for volto blocks successfully adopted in EEA main website.

A thing of concern can be making this feature configurable or available per content-type or settings based? But I don't think it will qualify for a 350 hrs project.

Some of our clients request the functionality of adding an anchor wherever they want and being able to link to it from somewhere else in the portal.

One of them has already requested so but we haven't started checking how to achieve this.

adding an anchor wherever they want

Text? Sounds like a slate plugin. Other blocks? Tricky.

Is it possible to add anchor to non-text components by creating a wrapper component, which will generate a slug based on content passed to it and wrap the child component in anchor tags with id as that slug. We will also have to write custom styles for the Link component so that its flexible for all sorts of component and does not break the component styling.
Just trying to understand where this could be tricky?

We have lots and lots of blocks in Volto :slight_smile:

Please notice that we cancelled this project last week. Sorry about the inconvenience.