Skip to content

Instantly share code, notes, and snippets.

@devraj
Created March 11, 2018 03:58
Show Gist options
  • Save devraj/4b5fb0dc84a30e37d37b8be7649d6465 to your computer and use it in GitHub Desktop.
Save devraj/4b5fb0dc84a30e37d37b8be7649d6465 to your computer and use it in GitHub Desktop.
Extracts CSS class names using tinycss
import tinycss2
css = open("_source/_assets/css/_webgradients.scss")
rules, encoding = tinycss2.parse_stylesheet_bytes(css_bytes=css.read())
class_names = []
scss_list = "$_webgradients_list: (\n"
for rule in rules:
if type(rule) == tinycss2.ast.QualifiedRule:
class_name = rule.prelude[1].value
class_names.append(class_name)
scss_list = scss_list + " '%s',\n" % class_name
scss_list = scss_list + ")"
print(scss_list)
print(','.join(name for name in class_names))
import pyaml
pyaml.pprint(class_names)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment