code: def index():
      
      ctx = mycommunities_ctx()
  
      p = request.args.get('p', type=str)
      so = request.args.get('so', type=str)
      page = request.args.get('page', type=int, default=1)
  
      so = so or current_app.config.get('COMMUNITIES_DEFAULT_SORTING_OPTION')
  
      communities = Community.filter_communities(p, so)
      featured_community = FeaturedCommunity.get_featured_or_none()
      form = SearchForm(p=p)
      per_page = 10
      page = max(page, 1)
      p = Pagination(page, per_page, communities.count())
  
      ctx.update({
          'r_from': max(p.per_page * (p.page - 1), 0),
          'r_to': min(p.per_page * p.page, p.total_count),
          'r_total': p.total_count,
          'pagination': p,
          'form': form,
          'title': _('Communities'),
          'communities': communities.slice(
              per_page * (page - 1), per_page * page).all(),
          'featured_community': featured_community,
      })
  
      return render_template(
          current_app.config['COMMUNITIES_INDEX_TEMPLATE'], **ctx)
docs: Index page with uploader and list of existing depositions.