ActiveState Code supports tags to categorize recipes and make it easier to find those recipes. Tags can be made up of digits, letters and underscores.
A new kind of tags — machine tags — are supported now. A machine tag, e.g. meta:language=python consists of a namespace (meta), a key (language) and a value (python). Everyone can created machine tags, but the meta: namespace is protected and tags in there will be created by the site itself.
The codesite itself uses machine tags to make various properties of recipes accessible to the search:
- The programming language of the recipe, e.g. python, perl or tcl.
- Those tags describe the minimum language version. If a recipe requires Python 2.5 it would have the tag meta:min_python_2=5.
- The license that was selected by the author, e.g. psf, mit or gpl.
- This tag contains a number describing the lines of code in a recipes. It counts only the number of lines in the code block but not any lines in the discussion of in comments. This makes it possible to search for short recipes with less than ten lines or very large ones.
- The current score of the recipe. This is the same number that is displayed besides the recipe title and can only be influenced by voting on recipes. That way you could even search for down-voted recipes
- Stores information about additional requirements of the recipes, e.g. required python modules. You can find recipes using python's collections module that way.
No matter whether you are on a recipe list page or viewing a recipe, you can click on a tag to find more recipes with this tag. If you are already searching for specific tags then a list of related tags is displayed in the sidebar. You can click on a tag to get all recipes with that tag; you can also click on the minus to remove all recipes with that tag or click on the plus to remove all recipes without that tag from the current results.
You can enter new tags in the tag bar on the top of recipe list pages. To include more tags in your search enter tags separated by spaces or plus signs. If you prepend a minus to a tag then recipes with this tag will be filtered out.
You can search for specific machine tag values with operators.