From: Raphaƫl Gertz <git@rapsys.eu>
Date: Thu, 10 Oct 2024 21:23:03 +0000 (+0200)
Subject: Add package and route configuration
X-Git-Tag: 0.0.2~2
X-Git-Url: https://git.rapsys.eu/treebundle/commitdiff_plain/54b4908c048705b0963c284f465d70d2096fab3a?ds=inline

Add package and route configuration
Add public directory
Add base and index templates
---

diff --git a/Resources/config/packages/rapsystree.yaml b/Resources/config/packages/rapsystree.yaml
new file mode 100644
index 0000000..88c2aea
--- /dev/null
+++ b/Resources/config/packages/rapsystree.yaml
@@ -0,0 +1,32 @@
+# Parameters configuration
+parameters:
+
+# Services configuration
+services:
+    # Register tree controller
+    Rapsys\TreeBundle\Controller\TreeController:
+        arguments: [ '@service_container', '@twig' ]
+        tags: [ 'controller.service_arguments' ]
+
+# Twig Configuration
+twig:
+    # Enforce debug
+    #auto_reload: ~
+    debug: '%kernel.debug%'
+    #strict_variables: '%kernel.debug%'
+
+    # Disable cache
+    # XXX: enable forced regeneration of css and js at each page load
+    cache: false
+
+    # Fix form layout for css
+    # XXX: @RapsysTree is a shortcut to vendor/rapsys/treebundle/Resources/views directory here
+    #form_theme: [ '@RapsysTree/form/form_div_layout.html.twig' ]
+
+    # Set twig paths
+    paths:
+        # Required by email.image(site_logo) directive
+        # XXX: Allow twig to resolve @RapsysTree/png/logo.png in vendor/rapsys/treebundle/Resources/public/png/logo.png
+        '%kernel.project_dir%/vendor/rapsys/treebundle/Resources/public': 'RapsysTree'
+    # Override default exception controller
+    #exception_controller: Rapsys\TreeBundle\Controller\ErrorController::preview
diff --git a/Resources/config/routes/rapsystree.yaml b/Resources/config/routes/rapsystree.yaml
new file mode 100644
index 0000000..b58bb21
--- /dev/null
+++ b/Resources/config/routes/rapsystree.yaml
@@ -0,0 +1,5 @@
+# Routes configuration
+rapsystree:
+    path: '/{path<.*>?}'
+    controller: Rapsys\TreeBundle\Controller\TreeController::index
+    methods: GET
diff --git a/Resources/public/.keep b/Resources/public/.keep
new file mode 100644
index 0000000..e69de29
diff --git a/Resources/views/base.html.twig b/Resources/views/base.html.twig
new file mode 100644
index 0000000..77819c9
--- /dev/null
+++ b/Resources/views/base.html.twig
@@ -0,0 +1,162 @@
+<!DOCTYPE html>
+<html{% if locale is defined and locale %} lang="{{ locale }}"{% endif %}>
+	<head{% if facebook is defined and facebook %} prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#"{% endif %}>
+		{% block meta %}<meta charset="UTF-8">{% endblock %}
+		<title>{% block title %}{{ [title.page, title.section, title.site]|filter(v => v)|join(' - ') }}{% endblock %}</title>
+		{% block stylesheet %}
+			<meta name="viewport" content="width=device-width, initial-scale=1" />
+			{% if description is defined and description %}
+				<meta name="description" content="{{ description }}" />
+			{% endif %}
+			{% if keywords is defined and keywords %}
+				<meta name="keywords" content="{{ keywords|join(', ') }}" />
+			{% endif %}
+			{% if icon is defined and icon %}
+				<link rel="shortcut icon" type="image/x-icon" href="{{ asset(icon.ico) }}" />
+				<link rel="icon" type="image/svg+xml" href="{{ asset(icon.svg) }}" />
+				{% for size, icon in icon.png %}
+					{# Apple #}
+					{% if size in [120, 152, 167, 180] %}
+						{% if size == 180 %}
+							<link rel="apple-touch-icon" href="{{ asset(icon) }}" />
+						{% endif %}
+						<link rel="apple-touch-icon" sizes="{{ size }}x{{ size }}" href="{{ asset(icon) }}" />
+					{# Windows #}
+					{% elseif size in [70, 150, 310] %}
+						<meta name="msapplication-square{{ size }}x{{ size }}logo" content="{{ asset(icon) }}" />
+					{# Others #}
+					{% else %}
+						<link rel="icon" type="image/png" sizes="{{ size }}x{{ size }}" href="{{ asset(icon) }}" />
+					{% endif %}
+				{% endfor %}
+			{% endif %}
+			{# stylesheet '//fonts.googleapis.com/css?family=Irish+Grover' '//fonts.googleapis.com/css?family=La+Belle+Aurore' '@RapsysAirBundle/Resources/public/css/{reset,screen}.css' #}
+			{% stopwatch 'stylesheet' %}
+				{% stylesheet '@RapsysAir/css/{reset,droidsans,lemon,notoemoji,screen}.css' %}
+					<link rel="stylesheet" type="text/css" href="{{ asset_url }}?20221024100144" />
+				{% endstylesheet %}
+			{% endstopwatch %}
+			{% if canonical is defined and canonical %}
+				<link rel="canonical" href="{{ canonical }}"{% if locale is defined and locale %} hreflang="{{ locale }}"{% endif %} />
+			{% endif %}
+			{% if alternates is defined and alternates %}
+				{% for lang, alternate in alternates %}
+					<link rel="alternate" href="{{ alternate.absolute }}" hreflang="{{ lang }}" />
+				{% endfor %}
+			{% endif %}
+			{% if facebook is defined and facebook %}
+				{% for property, contents in facebook %}
+					{% if contents is iterable %}
+						{% for content in contents %}
+							<meta property="{{ property }}" content="{{ content }}" />
+						{% endfor %}
+					{% else %}
+						<meta property="{{ property }}" content="{{ contents }}" />
+					{% endif %}
+				{% endfor %}
+			{% endif %}
+		{% endblock %}
+	</head>
+	<body>
+		{% block body %}
+			{% block header %}
+				<header id="header">
+					<div>
+						{% if logo is defined and logo %}
+							{% block header_title %}<a id="logo" href="{{ root }}" title="{{ title.site }}"><img src="{{ asset(logo.svg) }}?20221024100144" srcset="{{ asset(logo.png) }}?20221024100144 200w, {{ asset(logo.svg) }}?20221024100144 400w" sizes="(min-width:400px) 400px, 200px" alt="{{ title.site }}" width="100" height="45" /><span>{{ title.site }}</span></a>{% endblock %}
+						{% endif %}
+						<h1 id="title"><a href="{{ canonical }}">{{ title.page }}</a></h1>
+					</div>
+					{% block header_nav %}
+						<nav id="nav">
+							{#<h2>{% trans %}Navigation{% endtrans %}</h2>#}
+							<a href="{{ path('rapsysair') }}" rel="home">{% trans %}Home{% endtrans %}</a>
+							<a href="{{ path('rapsysair_contact') }}" rel="contact">{% trans %}Contact{% endtrans %}</a>
+							<a href="{{ path('rapsysair_frequently_asked_questions') }}">{% trans %}Frequently asked questions{% endtrans %}</a>
+							{% if is_granted('ROLE_ADMIN') %}
+								<a href="{{ path('rapsysair_user') }}">{% trans %}Users{% endtrans %}</a>
+							{% endif %}
+							{% if is_granted('ROLE_GUEST') %}
+								<a href="{{ path('rapsysair_organizer_regulation') }}">{% trans %}Organizer regulation{% endtrans %}</a>
+							{% endif %}
+							{% if is_granted('IS_AUTHENTICATED_REMEMBERED') %}
+								<a href="{{ path('rapsysuser_edit', {mail: app.user.mail|short, hash: app.user.mail|short|hash}) }}">{% trans %}My account{% endtrans %}</a>
+								<a href="{{ path('rapsysuser_logout') }}">{% trans %}Logout{% endtrans %}</a>
+							{% else %}
+								<a href="{{ path('rapsysuser_login') }}">{% trans %}Login{% endtrans %}</a>
+								<a href="{{ path('rapsysuser_register') }}">{% trans %}Register{% endtrans %}</a>
+							{% endif %}
+						</nav>
+					{% endblock %}
+			{#
+					{% block site_subtitle %}{% endblock %}
+					{% block site_tagline %}
+						{% if tags is defined and tags %}
+							<ul>
+								{% for id, tag in tags %}
+									<li><h2><a href="#{{id}}">{{tag}}</a></h2></li>
+								{% endfor %}
+							</ul>
+						{% endif %}
+					{% endblock %}
+			#}
+				</header>
+			{% endblock %}
+			{% block message %}
+				{# pass an array argument to get the messages of those types (['warning', 'error']) #}
+				{% for label, messages in app.flashes %}
+					{% if messages %}
+						<div class="message {{label}}">
+							<ul>
+								{% for message in messages %}
+									<li>{{ message }}</li>
+								{% endfor %}
+							</ul>
+						</div>
+					{% endif %}
+				{% endfor %}
+			{% endblock %}
+		{#
+			{% block sidebar %}<aside id="sidebar"></aside>{% endblock %}
+		#}
+			{% block content %}
+				<article>
+					<header>
+						<h2>{% trans %}Outdoor space reservation system{% endtrans %}</h2>
+					</header>
+				</article>
+			{% endblock %}
+			{% block footer %}
+				<footer id="footer">
+					<a href="{{ path('rapsysair_about') }}">{% trans %}About{% endtrans %}</a>
+					{% if copy is defined and copy %}
+						<details><summary>{{ copy.long }}</summary><span>{{ copy.short }} <a href="{{ copy.link }}" title="{{ copy.title }}" rel="author">{{ copy.by }}</a></span></details>
+					{% endif %}
+					<a href="{{ path('rapsysair_terms_of_service') }}">{% trans %}Terms of service{% endtrans %}</a>
+					{% if alternates is defined and alternates %}
+						{% set langs = alternates|keys|filter(v => v|length == 5) %}
+						{% if langs|length > 1 %}
+							<ul>
+								{% for lang in langs %}
+									<li><a href="{{ alternates[lang].relative }}" hreflang="{{ lang|replace({'_': '-'}) }}" title="{{ alternates[lang].title }}">{{ alternates[lang].translated }}</a></li>
+								{% endfor %}
+							</ul>
+						{% else %}
+							{% set lang = langs|first %}
+							<a href="{{ alternates[lang].relative }}" hreflang="{{ lang|replace({'_': '-'}) }}" title="{{ alternates[lang].title }}">{{ alternates[lang].translated }}</a>
+						{% endif %}
+					{% else %}
+						<span>&nbsp;</span>
+					{% endif %}
+				</footer>
+			{% endblock %}
+		{% endblock %}
+		{% block javascript %}
+			{% stopwatch 'javascript' %}
+				{#{% javascript '@RapsysAir/js/*.js' %}
+					<script type="text/javascript" src="{{ asset_url }}"></script>
+				{% endjavascript %}#}
+			{% endstopwatch %}
+		{% endblock %}
+	</body>
+</html>
diff --git a/Resources/views/index.html.twig b/Resources/views/index.html.twig
new file mode 100644
index 0000000..1ec5d90
--- /dev/null
+++ b/Resources/views/index.html.twig
@@ -0,0 +1,4 @@
+{% extends '@RapsysTree/base.html.twig' %}
+{% block content %}
+	TODO
+{% endblock %}