{% extends "base.html" %} {% block title %} {{ _("Welcome") }} {% endblock %} {% block scriptextra %} <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "WebSite", "url": "https://content.minetest.net/", "potentialAction": { "@type": "SearchAction", "target": "https://content.minetest.net/packages?q={search_term_string}", "query-input": "required name=search_term_string" } } </script> {% endblock %} {% block content %} {% from "macros/packagegridtile.html" import render_pkggrid %} <div id="featuredCarousel" class="carousel slide my-0" data-ride="carousel" data-interval="7500"> <ol class="carousel-indicators"> {% for package in featured %} <li data-target="#featuredCarousel" data-slide-to="{{ loop.index - 1 }}" {% if loop.index == 1 %}class="active"{% endif %}></li> {% endfor %} </ol> <div class="carousel-inner"> {% for package in featured %} {% set cover_image = package.cover_image.url or package.getMainScreenshotURL() %} {% set tags = package.tags | sort(attribute="views", reverse=True) %} <div class="carousel-item {% if loop.index == 1 %}active{% endif %}"> <a href="{{ package.getURL("packages.view") }}"> <div class="embed-responsive embed-responsive-16by9"> <img class="embed-responsive-item" src="{{ cover_image }}" alt="{{ _('%(title)s by %(author)s', title=package.title, author=package.author.display_name) }}"> </div> <div class="carousel-caption text-shadow"> <h3 class="mt-0 mb-3"> {% if package.author %} {{ _('<strong>%(title)s</strong> by %(author)s', title=package.title, author=package.author.display_name) }} {% else %} <strong>{{ package.title }}</strong> {% endif %} </h3> <p> {{ package.short_desc }} </p> {% if package.author %} <div class="d-none d-md-block"> <span class="mr-2"> {{ package.type.text }} </span> {% for warning in package.content_warnings %} <span class="badge badge-warning" title="{{ warning.description }}"> <i class="fas fa-exclamation-circle" style="margin-right: 0.3em;"></i> {{ warning.title }} </span> {% endfor %} {% for t in tags[:3] %} {% if t.name != "featured" %} <span class="badge badge-primary" title="{{ t.description or '' }}"> {{ t.title }} </span> {% endif %} {% endfor %} <span class="btn" title="{{ _('Reviews') }}"> <i class="fas fa-star-half-alt"></i> <span class="count"> +{{ package.reviews | selectattr("recommends") | list | length }} / -{{ package.reviews | rejectattr("recommends") | list | length }} </span> </span> </div> {% endif %} </div> </a> </div> {% endfor %} </div> <a class="carousel-control-prev" href="#featuredCarousel" role="button" data-slide="prev"> <span class="carousel-control-prev-icon" aria-hidden="true"></span> <span class="sr-only">{{ _("Previous") }}</span> </a> <a class="carousel-control-next" href="#featuredCarousel" role="button" data-slide="next"> <span class="carousel-control-next-icon" aria-hidden="true"></span> <span class="sr-only">{{ _("Next") }}</span> </a> </div> <div class="text-right mb-5 text-muted" style="opacity: 0.4;"> <a href="/help/featured/" class="btn"> <i class="fas fa-question-circle mr-1"></i> {{ _("Featured") }} </a> </div> <a href="{{ url_for('packages.list_all', sort='approved_at', order='desc') }}" class="btn btn-secondary float-right"> {{ _("See more") }} </a> <h2 class="my-3">{{ _("Recently Added") }}</h2> {{ render_pkggrid(new) }} <a href="{{ url_for('packages.list_all', sort='last_release', order='desc') }}" class="btn btn-secondary float-right"> {{ _("See more") }} </a> <h2 class="my-3">{{ _("Recently Updated") }}</h2> {{ render_pkggrid(updated) }} <a href="{{ url_for('packages.list_all', type='game', sort='score', order='desc') }}" class="btn btn-secondary float-right"> {{ _("See more") }} </a> <h2 class="my-3">{{ _("Top Games") }}</h2> {{ render_pkggrid(pop_gam) }} <a href="{{ url_for('packages.list_all', type='mod', sort='score', order='desc') }}" class="btn btn-secondary float-right"> {{ _("See more") }} </a> <h2 class="my-3">{{ _("Top Mods") }}</h2> {{ render_pkggrid(pop_mod) }} <a href="{{ url_for('packages.list_all', type='txp', sort='score', order='desc') }}" class="btn btn-secondary float-right"> {{ _("See more") }} </a> <h2 class="my-3">{{ _("Top Texture Packs") }}</h2> {{ render_pkggrid(pop_txp) }} <h2 class="my-3">{{ _("Search by Tags") }}</h2> {% for pair in tags %} {% set count = pair[0] %} {% set tag = pair[1] %} <a class="btn btn-sm btn-secondary m-1" rel="nofollow" title="{{ tag.description or '' }}" href="{{ url_for('packages.list_all', tag=tag.name) }}"> {{ tag.title }} <span class="badge badge-pill badge-light ml-1">{{ count }}</span> </a> {% endfor %} <div class="clearfix mb-4"></div> <a href="{{ url_for('packages.list_all', sort='reviews', order='desc') }}" class="btn btn-secondary float-right"> {{ _("See more") }} </a> <h2 class="my-3">{{ _("Highest Reviewed") }}</h2> {{ render_pkggrid(high_reviewed) }} <a href="{{ url_for('packages.list_reviews') }}" class="btn btn-secondary float-right"> {{ _("See more") }} </a> <h2 class="my-3">{{ _("Recent Positive Reviews") }}</h2> {% from "macros/reviews.html" import render_reviews with context %} {{ render_reviews(reviews, current_user, True) }} <div class="text-center mt-5"> <small> {{ _("CDB has %(count)d packages, with a total of %(downloads)d downloads.", count=count, downloads=downloads) }} </small> </div> <!-- </main> --> {% endblock %}