docs: def smart_if(parser, token):
      '''
      A smarter {% if %} tag for django templates.
  
      While retaining current Django functionality, it also handles equality,
      greater than and less than operators. Some common case examples::
  
          {% if articles|length >= 5 %}...{% endif %}
          {% if "ifnotequal tag" != "beautiful" %}...{% endif %}
  
      Arguments and operators _must_ have a space between them, so
      ``{% if 1>2 %}`` is not a valid smart if tag.
  
      All supported operators are: ``or``, ``and``, ``in``, ``=`` (or ``==``),
      ``!=``, ``>``, ``>=``, ``<`` and ``<=``.
      '''
      bits = token.split_contents()[1:]
      var = TemplateIfParser(parser, bits).parse()
      nodelist_true = parser.parse(('else', 'endif'))
      token = parser.next_token()
      if token.contents == 'else':
          nodelist_false = parser.parse(('endif',))
          parser.delete_first_token()
      else:
          nodelist_false = None
      return SmartIfNode(var, nodelist_true, nodelist_false)