# This file is part of GAnarchy - decentralized project hub # Copyright (C) 2020 Soni L. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . import jinja2 import ganarchy.dirs def get_template_loader(): return jinja2.ChoiceLoader([ jinja2.FileSystemLoader([ganarchy.dirs.CONFIG_HOME + "/templates"] + [config_dir + "/templates" for config_dir in ganarchy.dirs.CONFIG_DIRS]), jinja2.DictLoader({ ## index.html 'index.html': """ {{ ganarchy.title|e }}

{{ ganarchy.title|e }}

This is {{ ganarchy.title|e }}. Currently tracking the following projects:

Powered by GAnarchy. AGPLv3-licensed. Source Code.

Register web+ganarchy: URI handler (Makes navigating between GAnarchy instances easier).

""", ## index.toml 'index.toml': """# Generated by GAnarchy {%- for project in database.list_projects() %} [projects.{{project}}] {%- for repo_url, branch, _head_commit, _pinned in database.list_repobranches(project) %} {%- if database.should_repo_federate(project, repo_url, branch) %} "{{repo_url|tomle}}".{% if not branch %}HEAD{% else %}"{{branch|tomle}}"{% endif %} = { active=true } {%- endif %} {%- endfor %} {% endfor -%} """, ## project.html # FIXME convert to project.title/etc instead of project_title/etc. 'project.html': """ {{ project_title|e }} {% if project_desc %}{% endif %}

{{ project_title|e }}

Tracking {{ project_commit }}

{{ project_body|e|replace("\n\n", "

") }}

Pinned repos

Additional repos

Powered by GAnarchy. AGPLv3-licensed. Source Code.

Main page. Register web+ganarchy: URI handler (Makes navigating between GAnarchy instances easier).

""", ## history.svg FIXME 'history.svg': """""", }) ])