Using attributes

Points, Paths, and Snippets all have attributes that you can use to influence how they behave.

A common scenario is to apply CSS classes to style a path:

paths.example.attributes.add('class', 'lining dashed');

Because it’s so common to set attributes, Points, Paths and Snippets all have the attr() helper method.

Not only is less more, the method is also chainable, which allows you to do this:

points.message = new Point(0,0)
  .attr("data-text", "Hello world!")
  .attr("data-text-class", "note");

In this example, we’re using attributes to add text to our pattern. The adding-text documentation explains this in detail.

When rendering, FreeSewing will output all your attributes. This gives you the possiblity to use any valid attribute to control the appearance.

This is also why we use the data- prefix for those attributes that have special meaning within FreeSewing, such as data-text. Adding a text attribute would result in invalid SVG as there is no such thing as a text attribute. But data-text is fine because the data- prefix indicates it is a custom attribute.

Freesewing is made by a community of contributors
with the financial support of our Patrons


These awesome companies harbour us
Search by Algolia
Translation by Crowdin
Deploys by Netlify
Error handling
Error handling by Bugsnag