docs: def get_pages(parser, token):
      """Add to context the list of page links.
  
      Usage:
  
      .. code-block:: html+django
  
          {% get_pages %}
  
      This is mostly used for Digg-style pagination.
      This call inserts in the template context a *pages* variable, as a sequence
      of page links. You can use *pages* in different ways:
  
      - just print *pages.get_rendered* and you will get Digg-style pagination displayed:
  
      .. code-block:: html+django
  
          {{ pages.get_rendered }}
  
      - display pages count:
  
      .. code-block:: html+django
  
          {{ pages|length }}
  
      - check if the page list contains more than one page:
  
      .. code-block:: html+django
  
          {{ pages.paginated }}
          {# the following is equivalent #}
          {{ pages|length > 1 }}
  
      - get a specific page:
  
      .. code-block:: html+django
  
          {# the current selected page #}
          {{ pages.current }}
  
          {# the first page #}
          {{ pages.first }}
  
          {# the last page #}
          {{ pages.last }}
  
          {# the previous page (or nothing if you are on first page) #}
          {{ pages.previous }}
  
          {# the next page (or nothing if you are in last page) #}
          {{ pages.next }}
  
          {# the third page #}
          {{ pages.3 }}
          {# this means page.1 is the same as page.first #}
  
          {# the 1-based index of the first item on the current page #}
          {{ pages.current_start_index }}
  
          {# the 1-based index of the last item on the current page #}
          {{ pages.current_end_index }}
  
          {# the total number of objects, across all pages #}
          {{ pages.total_count }}
  
          {# the first page represented as an arrow #}
          {{ pages.first_as_arrow }}
  
          {# the last page represented as an arrow #}
          {{ pages.last_as_arrow }}
  
      - iterate over *pages* to get all pages:
  
      .. code-block:: html+django
  
          {% for page in pages %}
              {# display page link #}
              {{ page.render_link}}
  
              {# the page url (beginning with "?") #}
              {{ page.url }}
  
              {# the page path #}
              {{ page.path }}
  
              {# the page number #}
              {{ page.number }}
  
              {# a string representing the page (commonly the page number) #}
              {{ page.label }}
  
              {# check if the page is the current one #}
              {{ page.is_current }}
  
              {# check if the page is the first one #}
              {{ page.is_first }}
  
              {# check if the page is the last one #}
              {{ page.is_last }}
          {% endfor %}
  
      You can change the variable name, e.g.:
  
      .. code-block:: html+django
  
          {% get_pages as page_links %}
  
      Must be called after ``{% paginate objects %}``.
      """
      # Validate args.
      try:
          tag_name, args = token.contents.split(None, 1)
      except ValueError:
          var_name = 'pages'
      else:
          args = args.split()
          if len(args) == 2 and args[0] == 'as':
              var_name = args[1]
          else:
              msg = 'Invalid arguments for %r tag' % tag_name
              raise template.TemplateSyntaxError(msg)
      # Call the node.
      return GetPagesNode(var_name)