Add class to anchor tag
<a href="#" class="default_content_block_class my_additional_class">Buy</a>
1. The user adds the content block to the main area.
2. The content is only a link to another c5 page.
3. Then the user adds a custom template to this block and with the custom template an additional class is added to this link.
So that a button or something can be generatet from jquery or whatever.
easiest though would be to place a css class rule in your typography.css file under your theme root. that class will then appear under "Styles" in the rich text editor (tinymce). you can then apply that style by selecting any content in the editor and choosing that style.
then look for the style to appear in the dropdown called Styles in the editor. if the style dropdown isn't there you may have to change from basic editor to another kind.
I thought about string replacing but before I wanted to ask about other possibilities...
EDIT: If you choose NOT to use the block, do NOT remove it from your file structure until AFTER you have visited Dashboard > Block Types and uninstalled it from there!!!
i haven't tried out the new editor for the next version of c5 though and i'm curious how these things will be handled there.
the typography way is pretty much the "concrete-way" but isn't always that intuitive. there's also the option for a link to have a class name in the tinymce editor (there's a textbox that lets you enter a class name manually in the dialog).
With TinyMCE (and for concrete 5.7 with redactor) you can access the HTML source code of the content you are editing. So for a quick adding of the desired classes I can do it that way.
When I need a more user friendly solution for a customer I created a custom template for the content block with string replacing and that works, too.
I often use frontend frameworks like bootstrap or foundation. Because of that all my styles are in _one_ css file I don't want to have them elsewhere.
this is the reason concrete made it so you can use a separate file for all your text styles called typography.css in your theme root. that way, your text styles will be displayed the same in both the content editor and the page output.
it's also nice to sometimes keep your general text styles separate from layout and design styles since text styles are more likely to be changed all at once where as layout and design styles might be changed more randomly. the whole typography approach is a popular way of making this easier.