initial commit
282
.ddev/config.yaml
Normal file
@@ -0,0 +1,282 @@
|
|||||||
|
name: coo
|
||||||
|
type: typo3
|
||||||
|
docroot: public
|
||||||
|
php_version: "8.3"
|
||||||
|
webserver_type: nginx-fpm
|
||||||
|
xdebug_enabled: false
|
||||||
|
additional_hostnames: []
|
||||||
|
additional_fqdns: []
|
||||||
|
database:
|
||||||
|
type: mariadb
|
||||||
|
version: "10.11"
|
||||||
|
use_dns_when_possible: true
|
||||||
|
composer_version: "2"
|
||||||
|
web_environment: []
|
||||||
|
corepack_enable: false
|
||||||
|
|
||||||
|
# Key features of DDEV's config.yaml:
|
||||||
|
|
||||||
|
# name: <projectname> # Name of the project, automatically provides
|
||||||
|
# http://projectname.ddev.site and https://projectname.ddev.site
|
||||||
|
|
||||||
|
# type: <projecttype> # backdrop, cakephp, craftcms, drupal, drupal6, drupal7, drupal8, drupal9, drupal10, drupal11, laravel, magento, magento2, php, shopware6, silverstripe, symfony, typo3, wordpress
|
||||||
|
# See https://ddev.readthedocs.io/en/stable/users/quickstart/ for more
|
||||||
|
# information on the different project types
|
||||||
|
|
||||||
|
# docroot: <relative_path> # Relative path to the directory containing index.php.
|
||||||
|
|
||||||
|
# php_version: "8.3" # PHP version to use, "5.6" through "8.4"
|
||||||
|
|
||||||
|
# You can explicitly specify the webimage but this
|
||||||
|
# is not recommended, as the images are often closely tied to DDEV's' behavior,
|
||||||
|
# so this can break upgrades.
|
||||||
|
|
||||||
|
# webimage: <docker_image> # nginx/php docker image.
|
||||||
|
|
||||||
|
# database:
|
||||||
|
# type: <dbtype> # mysql, mariadb, postgres
|
||||||
|
# version: <version> # database version, like "10.11" or "8.0"
|
||||||
|
# MariaDB versions can be 5.5-10.8, 10.11, and 11.4.
|
||||||
|
# MySQL versions can be 5.5-8.0.
|
||||||
|
# PostgreSQL versions can be 9-17.
|
||||||
|
|
||||||
|
# router_http_port: <port> # Port to be used for http (defaults to global configuration, usually 80)
|
||||||
|
# router_https_port: <port> # Port for https (defaults to global configuration, usually 443)
|
||||||
|
|
||||||
|
# xdebug_enabled: false # Set to true to enable Xdebug and "ddev start" or "ddev restart"
|
||||||
|
# Note that for most people the commands
|
||||||
|
# "ddev xdebug" to enable Xdebug and "ddev xdebug off" to disable it work better,
|
||||||
|
# as leaving Xdebug enabled all the time is a big performance hit.
|
||||||
|
|
||||||
|
# xhprof_enabled: false # Set to true to enable Xhprof and "ddev start" or "ddev restart"
|
||||||
|
# Note that for most people the commands
|
||||||
|
# "ddev xhprof" to enable Xhprof and "ddev xhprof off" to disable it work better,
|
||||||
|
# as leaving Xhprof enabled all the time is a big performance hit.
|
||||||
|
|
||||||
|
# webserver_type: nginx-fpm or apache-fpm
|
||||||
|
|
||||||
|
# timezone: Europe/Berlin
|
||||||
|
# If timezone is unset, DDEV will attempt to derive it from the host system timezone
|
||||||
|
# using the $TZ environment variable or the /etc/localtime symlink.
|
||||||
|
# This is the timezone used in the containers and by PHP;
|
||||||
|
# it can be set to any valid timezone,
|
||||||
|
# see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
||||||
|
# For example Europe/Dublin or MST7MDT
|
||||||
|
|
||||||
|
# composer_root: <relative_path>
|
||||||
|
# Relative path to the Composer root directory from the project root. This is
|
||||||
|
# the directory which contains the composer.json and where all Composer related
|
||||||
|
# commands are executed.
|
||||||
|
|
||||||
|
# composer_version: "2"
|
||||||
|
# You can set it to "" or "2" (default) for Composer v2 or "1" for Composer v1
|
||||||
|
# to use the latest major version available at the time your container is built.
|
||||||
|
# It is also possible to use each other Composer version channel. This includes:
|
||||||
|
# - 2.2 (latest Composer LTS version)
|
||||||
|
# - stable
|
||||||
|
# - preview
|
||||||
|
# - snapshot
|
||||||
|
# Alternatively, an explicit Composer version may be specified, for example "2.2.18".
|
||||||
|
# To reinstall Composer after the image was built, run "ddev debug rebuild".
|
||||||
|
|
||||||
|
# nodejs_version: "22"
|
||||||
|
# change from the default system Node.js version to any other version.
|
||||||
|
# See https://ddev.readthedocs.io/en/stable/users/configuration/config/#nodejs_version for more information
|
||||||
|
# and https://www.npmjs.com/package/n#specifying-nodejs-versions for the full documentation,
|
||||||
|
# Note that using of 'ddev nvm' is discouraged because "nodejs_version" is much easier to use,
|
||||||
|
# can specify any version, and is more robust than using 'nvm'.
|
||||||
|
|
||||||
|
# corepack_enable: false
|
||||||
|
# Change to 'true' to 'corepack enable' and gain access to latest versions of yarn/pnpm
|
||||||
|
|
||||||
|
# additional_hostnames:
|
||||||
|
# - somename
|
||||||
|
# - someothername
|
||||||
|
# would provide http and https URLs for "somename.ddev.site"
|
||||||
|
# and "someothername.ddev.site".
|
||||||
|
|
||||||
|
# additional_fqdns:
|
||||||
|
# - example.com
|
||||||
|
# - sub1.example.com
|
||||||
|
# would provide http and https URLs for "example.com" and "sub1.example.com"
|
||||||
|
# Please take care with this because it can cause great confusion.
|
||||||
|
|
||||||
|
# upload_dirs: "custom/upload/dir"
|
||||||
|
#
|
||||||
|
# upload_dirs:
|
||||||
|
# - custom/upload/dir
|
||||||
|
# - ../private
|
||||||
|
#
|
||||||
|
# would set the destination paths for ddev import-files to <docroot>/custom/upload/dir
|
||||||
|
# When Mutagen is enabled this path is bind-mounted so that all the files
|
||||||
|
# in the upload_dirs don't have to be synced into Mutagen.
|
||||||
|
|
||||||
|
# disable_upload_dirs_warning: false
|
||||||
|
# If true, turns off the normal warning that says
|
||||||
|
# "You have Mutagen enabled and your 'php' project type doesn't have upload_dirs set"
|
||||||
|
|
||||||
|
# ddev_version_constraint: ""
|
||||||
|
# Example:
|
||||||
|
# ddev_version_constraint: ">= 1.22.4"
|
||||||
|
# This will enforce that the running ddev version is within this constraint.
|
||||||
|
# See https://github.com/Masterminds/semver#checking-version-constraints for
|
||||||
|
# supported constraint formats
|
||||||
|
|
||||||
|
# working_dir:
|
||||||
|
# web: /var/www/html
|
||||||
|
# db: /home
|
||||||
|
# would set the default working directory for the web and db services.
|
||||||
|
# These values specify the destination directory for ddev ssh and the
|
||||||
|
# directory in which commands passed into ddev exec are run.
|
||||||
|
|
||||||
|
# omit_containers: [db, ddev-ssh-agent]
|
||||||
|
# Currently only these containers are supported. Some containers can also be
|
||||||
|
# omitted globally in the ~/.ddev/global_config.yaml. Note that if you omit
|
||||||
|
# the "db" container, several standard features of DDEV that access the
|
||||||
|
# database container will be unusable. In the global configuration it is also
|
||||||
|
# possible to omit ddev-router, but not here.
|
||||||
|
|
||||||
|
# performance_mode: "global"
|
||||||
|
# DDEV offers performance optimization strategies to improve the filesystem
|
||||||
|
# performance depending on your host system. Should be configured globally.
|
||||||
|
#
|
||||||
|
# If set, will override the global config. Possible values are:
|
||||||
|
# - "global": uses the value from the global config.
|
||||||
|
# - "none": disables performance optimization for this project.
|
||||||
|
# - "mutagen": enables Mutagen for this project.
|
||||||
|
# - "nfs": enables NFS for this project.
|
||||||
|
#
|
||||||
|
# See https://ddev.readthedocs.io/en/stable/users/install/performance/#nfs
|
||||||
|
# See https://ddev.readthedocs.io/en/stable/users/install/performance/#mutagen
|
||||||
|
|
||||||
|
# fail_on_hook_fail: False
|
||||||
|
# Decide whether 'ddev start' should be interrupted by a failing hook
|
||||||
|
|
||||||
|
# host_https_port: "59002"
|
||||||
|
# The host port binding for https can be explicitly specified. It is
|
||||||
|
# dynamic unless otherwise specified.
|
||||||
|
# This is not used by most people, most people use the *router* instead
|
||||||
|
# of the localhost port.
|
||||||
|
|
||||||
|
# host_webserver_port: "59001"
|
||||||
|
# The host port binding for the ddev-webserver can be explicitly specified. It is
|
||||||
|
# dynamic unless otherwise specified.
|
||||||
|
# This is not used by most people, most people use the *router* instead
|
||||||
|
# of the localhost port.
|
||||||
|
|
||||||
|
# host_db_port: "59002"
|
||||||
|
# The host port binding for the ddev-dbserver can be explicitly specified. It is dynamic
|
||||||
|
# unless explicitly specified.
|
||||||
|
|
||||||
|
# mailpit_http_port: "8025"
|
||||||
|
# mailpit_https_port: "8026"
|
||||||
|
# The Mailpit ports can be changed from the default 8025 and 8026
|
||||||
|
|
||||||
|
# host_mailpit_port: "8025"
|
||||||
|
# The mailpit port is not normally bound on the host at all, instead being routed
|
||||||
|
# through ddev-router, but it can be bound directly to localhost if specified here.
|
||||||
|
|
||||||
|
# webimage_extra_packages: [php7.4-tidy, php-bcmath]
|
||||||
|
# Extra Debian packages that are needed in the webimage can be added here
|
||||||
|
|
||||||
|
# dbimage_extra_packages: [telnet,netcat]
|
||||||
|
# Extra Debian packages that are needed in the dbimage can be added here
|
||||||
|
|
||||||
|
# use_dns_when_possible: true
|
||||||
|
# If the host has internet access and the domain configured can
|
||||||
|
# successfully be looked up, DNS will be used for hostname resolution
|
||||||
|
# instead of editing /etc/hosts
|
||||||
|
# Defaults to true
|
||||||
|
|
||||||
|
# project_tld: ddev.site
|
||||||
|
# The top-level domain used for project URLs
|
||||||
|
# The default "ddev.site" allows DNS lookup via a wildcard
|
||||||
|
# If you prefer you can change this to "ddev.local" to preserve
|
||||||
|
# pre-v1.9 behavior.
|
||||||
|
|
||||||
|
# ngrok_args: --basic-auth username:pass1234
|
||||||
|
# Provide extra flags to the "ngrok http" command, see
|
||||||
|
# https://ngrok.com/docs/ngrok-agent/config or run "ngrok http -h"
|
||||||
|
|
||||||
|
# disable_settings_management: false
|
||||||
|
# If true, DDEV will not create CMS-specific settings files like
|
||||||
|
# Drupal's settings.php/settings.ddev.php or TYPO3's additional.php
|
||||||
|
# In this case the user must provide all such settings.
|
||||||
|
|
||||||
|
# You can inject environment variables into the web container with:
|
||||||
|
# web_environment:
|
||||||
|
# - SOMEENV=somevalue
|
||||||
|
# - SOMEOTHERENV=someothervalue
|
||||||
|
|
||||||
|
# no_project_mount: false
|
||||||
|
# (Experimental) If true, DDEV will not mount the project into the web container;
|
||||||
|
# the user is responsible for mounting it manually or via a script.
|
||||||
|
# This is to enable experimentation with alternate file mounting strategies.
|
||||||
|
# For advanced users only!
|
||||||
|
|
||||||
|
# bind_all_interfaces: false
|
||||||
|
# If true, host ports will be bound on all network interfaces,
|
||||||
|
# not the localhost interface only. This means that ports
|
||||||
|
# will be available on the local network if the host firewall
|
||||||
|
# allows it.
|
||||||
|
|
||||||
|
# default_container_timeout: 120
|
||||||
|
# The default time that DDEV waits for all containers to become ready can be increased from
|
||||||
|
# the default 120. This helps in importing huge databases, for example.
|
||||||
|
|
||||||
|
#web_extra_exposed_ports:
|
||||||
|
#- name: nodejs
|
||||||
|
# container_port: 3000
|
||||||
|
# http_port: 2999
|
||||||
|
# https_port: 3000
|
||||||
|
#- name: something
|
||||||
|
# container_port: 4000
|
||||||
|
# https_port: 4000
|
||||||
|
# http_port: 3999
|
||||||
|
# Allows a set of extra ports to be exposed via ddev-router
|
||||||
|
# Fill in all three fields even if you don’t intend to use the https_port!
|
||||||
|
# If you don’t add https_port, then it defaults to 0 and ddev-router will fail to start.
|
||||||
|
#
|
||||||
|
# The port behavior on the ddev-webserver must be arranged separately, for example
|
||||||
|
# using web_extra_daemons.
|
||||||
|
# For example, with a web app on port 3000 inside the container, this config would
|
||||||
|
# expose that web app on https://<project>.ddev.site:9999 and http://<project>.ddev.site:9998
|
||||||
|
# web_extra_exposed_ports:
|
||||||
|
# - name: myapp
|
||||||
|
# container_port: 3000
|
||||||
|
# http_port: 9998
|
||||||
|
# https_port: 9999
|
||||||
|
|
||||||
|
#web_extra_daemons:
|
||||||
|
#- name: "http-1"
|
||||||
|
# command: "/var/www/html/node_modules/.bin/http-server -p 3000"
|
||||||
|
# directory: /var/www/html
|
||||||
|
#- name: "http-2"
|
||||||
|
# command: "/var/www/html/node_modules/.bin/http-server /var/www/html/sub -p 3000"
|
||||||
|
# directory: /var/www/html
|
||||||
|
|
||||||
|
# override_config: false
|
||||||
|
# By default, config.*.yaml files are *merged* into the configuration
|
||||||
|
# But this means that some things can't be overridden
|
||||||
|
# For example, if you have 'use_dns_when_possible: true'' you can't override it with a merge
|
||||||
|
# and you can't erase existing hooks or all environment variables.
|
||||||
|
# However, with "override_config: true" in a particular config.*.yaml file,
|
||||||
|
# 'use_dns_when_possible: false' can override the existing values, and
|
||||||
|
# hooks:
|
||||||
|
# post-start: []
|
||||||
|
# or
|
||||||
|
# web_environment: []
|
||||||
|
# or
|
||||||
|
# additional_hostnames: []
|
||||||
|
# can have their intended affect. 'override_config' affects only behavior of the
|
||||||
|
# config.*.yaml file it exists in.
|
||||||
|
|
||||||
|
# Many DDEV commands can be extended to run tasks before or after the
|
||||||
|
# DDEV command is executed, for example "post-start", "post-import-db",
|
||||||
|
# "pre-composer", "post-composer"
|
||||||
|
# See https://ddev.readthedocs.io/en/stable/users/extend/custom-commands/ for more
|
||||||
|
# information on the commands that can be extended and the tasks you can define
|
||||||
|
# for them. Example:
|
||||||
|
#hooks:
|
||||||
|
# post-start:
|
||||||
|
# - exec: composer install -d /var/www/html
|
||||||
8
.gitignore
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
.DS_Store
|
||||||
|
.idea
|
||||||
|
nbproject
|
||||||
|
/var/*
|
||||||
|
!/var/labels
|
||||||
|
/vendor
|
||||||
|
/public/*
|
||||||
|
!/public/.htaccess
|
||||||
339
LICENSE
Normal file
@@ -0,0 +1,339 @@
|
|||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
Version 2, June 1991
|
||||||
|
|
||||||
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
|
||||||
|
The licenses for most software are designed to take away your
|
||||||
|
freedom to share and change it. By contrast, the GNU General Public
|
||||||
|
License is intended to guarantee your freedom to share and change free
|
||||||
|
software--to make sure the software is free for all its users. This
|
||||||
|
General Public License applies to most of the Free Software
|
||||||
|
Foundation's software and to any other program whose authors commit to
|
||||||
|
using it. (Some other Free Software Foundation software is covered by
|
||||||
|
the GNU Lesser General Public License instead.) You can apply it to
|
||||||
|
your programs, too.
|
||||||
|
|
||||||
|
When we speak of free software, we are referring to freedom, not
|
||||||
|
price. Our General Public Licenses are designed to make sure that you
|
||||||
|
have the freedom to distribute copies of free software (and charge for
|
||||||
|
this service if you wish), that you receive source code or can get it
|
||||||
|
if you want it, that you can change the software or use pieces of it
|
||||||
|
in new free programs; and that you know you can do these things.
|
||||||
|
|
||||||
|
To protect your rights, we need to make restrictions that forbid
|
||||||
|
anyone to deny you these rights or to ask you to surrender the rights.
|
||||||
|
These restrictions translate to certain responsibilities for you if you
|
||||||
|
distribute copies of the software, or if you modify it.
|
||||||
|
|
||||||
|
For example, if you distribute copies of such a program, whether
|
||||||
|
gratis or for a fee, you must give the recipients all the rights that
|
||||||
|
you have. You must make sure that they, too, receive or can get the
|
||||||
|
source code. And you must show them these terms so they know their
|
||||||
|
rights.
|
||||||
|
|
||||||
|
We protect your rights with two steps: (1) copyright the software, and
|
||||||
|
(2) offer you this license which gives you legal permission to copy,
|
||||||
|
distribute and/or modify the software.
|
||||||
|
|
||||||
|
Also, for each author's protection and ours, we want to make certain
|
||||||
|
that everyone understands that there is no warranty for this free
|
||||||
|
software. If the software is modified by someone else and passed on, we
|
||||||
|
want its recipients to know that what they have is not the original, so
|
||||||
|
that any problems introduced by others will not reflect on the original
|
||||||
|
authors' reputations.
|
||||||
|
|
||||||
|
Finally, any free program is threatened constantly by software
|
||||||
|
patents. We wish to avoid the danger that redistributors of a free
|
||||||
|
program will individually obtain patent licenses, in effect making the
|
||||||
|
program proprietary. To prevent this, we have made it clear that any
|
||||||
|
patent must be licensed for everyone's free use or not licensed at all.
|
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and
|
||||||
|
modification follow.
|
||||||
|
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
|
0. This License applies to any program or other work which contains
|
||||||
|
a notice placed by the copyright holder saying it may be distributed
|
||||||
|
under the terms of this General Public License. The "Program", below,
|
||||||
|
refers to any such program or work, and a "work based on the Program"
|
||||||
|
means either the Program or any derivative work under copyright law:
|
||||||
|
that is to say, a work containing the Program or a portion of it,
|
||||||
|
either verbatim or with modifications and/or translated into another
|
||||||
|
language. (Hereinafter, translation is included without limitation in
|
||||||
|
the term "modification".) Each licensee is addressed as "you".
|
||||||
|
|
||||||
|
Activities other than copying, distribution and modification are not
|
||||||
|
covered by this License; they are outside its scope. The act of
|
||||||
|
running the Program is not restricted, and the output from the Program
|
||||||
|
is covered only if its contents constitute a work based on the
|
||||||
|
Program (independent of having been made by running the Program).
|
||||||
|
Whether that is true depends on what the Program does.
|
||||||
|
|
||||||
|
1. You may copy and distribute verbatim copies of the Program's
|
||||||
|
source code as you receive it, in any medium, provided that you
|
||||||
|
conspicuously and appropriately publish on each copy an appropriate
|
||||||
|
copyright notice and disclaimer of warranty; keep intact all the
|
||||||
|
notices that refer to this License and to the absence of any warranty;
|
||||||
|
and give any other recipients of the Program a copy of this License
|
||||||
|
along with the Program.
|
||||||
|
|
||||||
|
You may charge a fee for the physical act of transferring a copy, and
|
||||||
|
you may at your option offer warranty protection in exchange for a fee.
|
||||||
|
|
||||||
|
2. You may modify your copy or copies of the Program or any portion
|
||||||
|
of it, thus forming a work based on the Program, and copy and
|
||||||
|
distribute such modifications or work under the terms of Section 1
|
||||||
|
above, provided that you also meet all of these conditions:
|
||||||
|
|
||||||
|
a) You must cause the modified files to carry prominent notices
|
||||||
|
stating that you changed the files and the date of any change.
|
||||||
|
|
||||||
|
b) You must cause any work that you distribute or publish, that in
|
||||||
|
whole or in part contains or is derived from the Program or any
|
||||||
|
part thereof, to be licensed as a whole at no charge to all third
|
||||||
|
parties under the terms of this License.
|
||||||
|
|
||||||
|
c) If the modified program normally reads commands interactively
|
||||||
|
when run, you must cause it, when started running for such
|
||||||
|
interactive use in the most ordinary way, to print or display an
|
||||||
|
announcement including an appropriate copyright notice and a
|
||||||
|
notice that there is no warranty (or else, saying that you provide
|
||||||
|
a warranty) and that users may redistribute the program under
|
||||||
|
these conditions, and telling the user how to view a copy of this
|
||||||
|
License. (Exception: if the Program itself is interactive but
|
||||||
|
does not normally print such an announcement, your work based on
|
||||||
|
the Program is not required to print an announcement.)
|
||||||
|
|
||||||
|
These requirements apply to the modified work as a whole. If
|
||||||
|
identifiable sections of that work are not derived from the Program,
|
||||||
|
and can be reasonably considered independent and separate works in
|
||||||
|
themselves, then this License, and its terms, do not apply to those
|
||||||
|
sections when you distribute them as separate works. But when you
|
||||||
|
distribute the same sections as part of a whole which is a work based
|
||||||
|
on the Program, the distribution of the whole must be on the terms of
|
||||||
|
this License, whose permissions for other licensees extend to the
|
||||||
|
entire whole, and thus to each and every part regardless of who wrote it.
|
||||||
|
|
||||||
|
Thus, it is not the intent of this section to claim rights or contest
|
||||||
|
your rights to work written entirely by you; rather, the intent is to
|
||||||
|
exercise the right to control the distribution of derivative or
|
||||||
|
collective works based on the Program.
|
||||||
|
|
||||||
|
In addition, mere aggregation of another work not based on the Program
|
||||||
|
with the Program (or with a work based on the Program) on a volume of
|
||||||
|
a storage or distribution medium does not bring the other work under
|
||||||
|
the scope of this License.
|
||||||
|
|
||||||
|
3. You may copy and distribute the Program (or a work based on it,
|
||||||
|
under Section 2) in object code or executable form under the terms of
|
||||||
|
Sections 1 and 2 above provided that you also do one of the following:
|
||||||
|
|
||||||
|
a) Accompany it with the complete corresponding machine-readable
|
||||||
|
source code, which must be distributed under the terms of Sections
|
||||||
|
1 and 2 above on a medium customarily used for software interchange; or,
|
||||||
|
|
||||||
|
b) Accompany it with a written offer, valid for at least three
|
||||||
|
years, to give any third party, for a charge no more than your
|
||||||
|
cost of physically performing source distribution, a complete
|
||||||
|
machine-readable copy of the corresponding source code, to be
|
||||||
|
distributed under the terms of Sections 1 and 2 above on a medium
|
||||||
|
customarily used for software interchange; or,
|
||||||
|
|
||||||
|
c) Accompany it with the information you received as to the offer
|
||||||
|
to distribute corresponding source code. (This alternative is
|
||||||
|
allowed only for noncommercial distribution and only if you
|
||||||
|
received the program in object code or executable form with such
|
||||||
|
an offer, in accord with Subsection b above.)
|
||||||
|
|
||||||
|
The source code for a work means the preferred form of the work for
|
||||||
|
making modifications to it. For an executable work, complete source
|
||||||
|
code means all the source code for all modules it contains, plus any
|
||||||
|
associated interface definition files, plus the scripts used to
|
||||||
|
control compilation and installation of the executable. However, as a
|
||||||
|
special exception, the source code distributed need not include
|
||||||
|
anything that is normally distributed (in either source or binary
|
||||||
|
form) with the major components (compiler, kernel, and so on) of the
|
||||||
|
operating system on which the executable runs, unless that component
|
||||||
|
itself accompanies the executable.
|
||||||
|
|
||||||
|
If distribution of executable or object code is made by offering
|
||||||
|
access to copy from a designated place, then offering equivalent
|
||||||
|
access to copy the source code from the same place counts as
|
||||||
|
distribution of the source code, even though third parties are not
|
||||||
|
compelled to copy the source along with the object code.
|
||||||
|
|
||||||
|
4. You may not copy, modify, sublicense, or distribute the Program
|
||||||
|
except as expressly provided under this License. Any attempt
|
||||||
|
otherwise to copy, modify, sublicense or distribute the Program is
|
||||||
|
void, and will automatically terminate your rights under this License.
|
||||||
|
However, parties who have received copies, or rights, from you under
|
||||||
|
this License will not have their licenses terminated so long as such
|
||||||
|
parties remain in full compliance.
|
||||||
|
|
||||||
|
5. You are not required to accept this License, since you have not
|
||||||
|
signed it. However, nothing else grants you permission to modify or
|
||||||
|
distribute the Program or its derivative works. These actions are
|
||||||
|
prohibited by law if you do not accept this License. Therefore, by
|
||||||
|
modifying or distributing the Program (or any work based on the
|
||||||
|
Program), you indicate your acceptance of this License to do so, and
|
||||||
|
all its terms and conditions for copying, distributing or modifying
|
||||||
|
the Program or works based on it.
|
||||||
|
|
||||||
|
6. Each time you redistribute the Program (or any work based on the
|
||||||
|
Program), the recipient automatically receives a license from the
|
||||||
|
original licensor to copy, distribute or modify the Program subject to
|
||||||
|
these terms and conditions. You may not impose any further
|
||||||
|
restrictions on the recipients' exercise of the rights granted herein.
|
||||||
|
You are not responsible for enforcing compliance by third parties to
|
||||||
|
this License.
|
||||||
|
|
||||||
|
7. If, as a consequence of a court judgment or allegation of patent
|
||||||
|
infringement or for any other reason (not limited to patent issues),
|
||||||
|
conditions are imposed on you (whether by court order, agreement or
|
||||||
|
otherwise) that contradict the conditions of this License, they do not
|
||||||
|
excuse you from the conditions of this License. If you cannot
|
||||||
|
distribute so as to satisfy simultaneously your obligations under this
|
||||||
|
License and any other pertinent obligations, then as a consequence you
|
||||||
|
may not distribute the Program at all. For example, if a patent
|
||||||
|
license would not permit royalty-free redistribution of the Program by
|
||||||
|
all those who receive copies directly or indirectly through you, then
|
||||||
|
the only way you could satisfy both it and this License would be to
|
||||||
|
refrain entirely from distribution of the Program.
|
||||||
|
|
||||||
|
If any portion of this section is held invalid or unenforceable under
|
||||||
|
any particular circumstance, the balance of the section is intended to
|
||||||
|
apply and the section as a whole is intended to apply in other
|
||||||
|
circumstances.
|
||||||
|
|
||||||
|
It is not the purpose of this section to induce you to infringe any
|
||||||
|
patents or other property right claims or to contest validity of any
|
||||||
|
such claims; this section has the sole purpose of protecting the
|
||||||
|
integrity of the free software distribution system, which is
|
||||||
|
implemented by public license practices. Many people have made
|
||||||
|
generous contributions to the wide range of software distributed
|
||||||
|
through that system in reliance on consistent application of that
|
||||||
|
system; it is up to the author/donor to decide if he or she is willing
|
||||||
|
to distribute software through any other system and a licensee cannot
|
||||||
|
impose that choice.
|
||||||
|
|
||||||
|
This section is intended to make thoroughly clear what is believed to
|
||||||
|
be a consequence of the rest of this License.
|
||||||
|
|
||||||
|
8. If the distribution and/or use of the Program is restricted in
|
||||||
|
certain countries either by patents or by copyrighted interfaces, the
|
||||||
|
original copyright holder who places the Program under this License
|
||||||
|
may add an explicit geographical distribution limitation excluding
|
||||||
|
those countries, so that distribution is permitted only in or among
|
||||||
|
countries not thus excluded. In such case, this License incorporates
|
||||||
|
the limitation as if written in the body of this License.
|
||||||
|
|
||||||
|
9. The Free Software Foundation may publish revised and/or new versions
|
||||||
|
of the General Public License from time to time. Such new versions will
|
||||||
|
be similar in spirit to the present version, but may differ in detail to
|
||||||
|
address new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the Program
|
||||||
|
specifies a version number of this License which applies to it and "any
|
||||||
|
later version", you have the option of following the terms and conditions
|
||||||
|
either of that version or of any later version published by the Free
|
||||||
|
Software Foundation. If the Program does not specify a version number of
|
||||||
|
this License, you may choose any version ever published by the Free Software
|
||||||
|
Foundation.
|
||||||
|
|
||||||
|
10. If you wish to incorporate parts of the Program into other free
|
||||||
|
programs whose distribution conditions are different, write to the author
|
||||||
|
to ask for permission. For software which is copyrighted by the Free
|
||||||
|
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||||
|
make exceptions for this. Our decision will be guided by the two goals
|
||||||
|
of preserving the free status of all derivatives of our free software and
|
||||||
|
of promoting the sharing and reuse of software generally.
|
||||||
|
|
||||||
|
NO WARRANTY
|
||||||
|
|
||||||
|
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||||
|
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||||
|
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||||
|
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||||
|
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||||
|
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||||
|
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||||
|
REPAIR OR CORRECTION.
|
||||||
|
|
||||||
|
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||||
|
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||||
|
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||||
|
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||||
|
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||||
|
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||||
|
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
|
If you develop a new program, and you want it to be of the greatest
|
||||||
|
possible use to the public, the best way to achieve this is to make it
|
||||||
|
free software which everyone can redistribute and change under these terms.
|
||||||
|
|
||||||
|
To do so, attach the following notices to the program. It is safest
|
||||||
|
to attach them to the start of each source file to most effectively
|
||||||
|
convey the exclusion of warranty; and each file should have at least
|
||||||
|
the "copyright" line and a pointer to where the full notice is found.
|
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 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 General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
|
||||||
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
|
If the program is interactive, make it output a short notice like this
|
||||||
|
when it starts in an interactive mode:
|
||||||
|
|
||||||
|
Gnomovision version 69, Copyright (C) year name of author
|
||||||
|
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
|
This is free software, and you are welcome to redistribute it
|
||||||
|
under certain conditions; type `show c' for details.
|
||||||
|
|
||||||
|
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||||
|
parts of the General Public License. Of course, the commands you use may
|
||||||
|
be called something other than `show w' and `show c'; they could even be
|
||||||
|
mouse-clicks or menu items--whatever suits your program.
|
||||||
|
|
||||||
|
You should also get your employer (if you work as a programmer) or your
|
||||||
|
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||||
|
necessary. Here is a sample; alter the names:
|
||||||
|
|
||||||
|
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||||
|
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||||
|
|
||||||
|
<signature of Ty Coon>, 1 April 1989
|
||||||
|
Ty Coon, President of Vice
|
||||||
|
|
||||||
|
This General Public License does not permit incorporating your program into
|
||||||
|
proprietary programs. If your program is a subroutine library, you may
|
||||||
|
consider it more useful to permit linking proprietary applications with the
|
||||||
|
library. If this is what you want to do, use the GNU Lesser General
|
||||||
|
Public License instead of this License.
|
||||||
66
README.md
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
# TYPO3 CMS Base Distribution
|
||||||
|
|
||||||
|
Get going quickly with TYPO3 CMS.
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
* PHP 8.2
|
||||||
|
* [Composer](https://getcomposer.org/download/)
|
||||||
|
|
||||||
|
## Quickstart
|
||||||
|
|
||||||
|
* `composer create-project typo3/cms-base-distribution project-name ^13`
|
||||||
|
* `cd project-name`
|
||||||
|
|
||||||
|
Note that this distribution installs most, but not all of the TYPO3 CMS core extensions.
|
||||||
|
Depending on your need you might also want to install other TYPO3 extensions from
|
||||||
|
[packagist.org](https://packagist.org/?type=typo3-cms-framework).
|
||||||
|
|
||||||
|
### Setup
|
||||||
|
|
||||||
|
To start an interactive installation, you can do so by executing the following
|
||||||
|
command and then follow the wizard:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
composer exec typo3 setup
|
||||||
|
```
|
||||||
|
|
||||||
|
### Setup unattended (optional)
|
||||||
|
|
||||||
|
If you're a more advanced user, you might want to leverage the unattended installation.
|
||||||
|
To do this, you need to execute the following command and substitute the arguments
|
||||||
|
with your own environment configuration.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
export TYPO3_SETUP_ADMIN_PASSWORD=$(tr -dc "_A-Za-z0-9#=$()/" < /dev/urandom | head -c24)
|
||||||
|
composer exec -- typo3 setup \
|
||||||
|
--no-interaction \
|
||||||
|
--server-type=other \
|
||||||
|
--driver=sqlite \
|
||||||
|
--admin-username=admin \
|
||||||
|
--admin-email="info@example.com" \
|
||||||
|
--project-name="My TYPO3 Project" \
|
||||||
|
--create-site="http://localhost:8000/"
|
||||||
|
echo "Admin password: ${TYPO3_SETUP_ADMIN_PASSWORD}"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Development server
|
||||||
|
|
||||||
|
While it's advised to use a more sophisticated web server such as
|
||||||
|
Apache 2 or Nginx, you can instantly run the project by using PHPs` built-in
|
||||||
|
[web server](https://secure.php.net/manual/en/features.commandline.webserver.php).
|
||||||
|
|
||||||
|
* `TYPO3_CONTEXT=Development php -S localhost:8000 -t public`
|
||||||
|
* open your browser at "http://localhost:8000"
|
||||||
|
|
||||||
|
Please be aware that the built-in web server is single threaded and only meant
|
||||||
|
to be used for development.
|
||||||
|
|
||||||
|
## Next steps
|
||||||
|
|
||||||
|
* [Getting Started with TYPO3](https://docs.typo3.org/permalink/t3start:start)
|
||||||
|
* [Create a Site Package](https://docs.typo3.org/permalink/t3sitepackage:start)
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
GPL-2.0 or later
|
||||||
51
composer.json
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
{
|
||||||
|
"name": "typo3/cms-base-distribution",
|
||||||
|
"description" : "TYPO3 CMS Base Distribution",
|
||||||
|
"license": "GPL-2.0-or-later",
|
||||||
|
"type": "project",
|
||||||
|
"config": {
|
||||||
|
"allow-plugins": {
|
||||||
|
"typo3/class-alias-loader": true,
|
||||||
|
"typo3/cms-composer-installers": true
|
||||||
|
},
|
||||||
|
"platform": {
|
||||||
|
"php": "8.2.0"
|
||||||
|
},
|
||||||
|
"sort-packages": true
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"gaengeviertel-ev/coo-site-package": "dev-main",
|
||||||
|
"specialistaweb/textimage-size": "^4.0",
|
||||||
|
"typo3/cms-backend": "^13.4",
|
||||||
|
"typo3/cms-belog": "^13.4",
|
||||||
|
"typo3/cms-beuser": "^13.4",
|
||||||
|
"typo3/cms-core": "^13.4",
|
||||||
|
"typo3/cms-dashboard": "^13.4",
|
||||||
|
"typo3/cms-extbase": "^13.4",
|
||||||
|
"typo3/cms-extensionmanager": "^13.4",
|
||||||
|
"typo3/cms-felogin": "^13.4",
|
||||||
|
"typo3/cms-filelist": "^13.4",
|
||||||
|
"typo3/cms-fluid": "^13.4",
|
||||||
|
"typo3/cms-fluid-styled-content": "^13.4",
|
||||||
|
"typo3/cms-form": "^13.4",
|
||||||
|
"typo3/cms-frontend": "^13.4",
|
||||||
|
"typo3/cms-impexp": "^13.4",
|
||||||
|
"typo3/cms-info": "^13.4",
|
||||||
|
"typo3/cms-install": "^13.4",
|
||||||
|
"typo3/cms-reactions": "^13.4",
|
||||||
|
"typo3/cms-recycler": "^13.4",
|
||||||
|
"typo3/cms-rte-ckeditor": "^13.4",
|
||||||
|
"typo3/cms-seo": "^13.4",
|
||||||
|
"typo3/cms-setup": "^13.4",
|
||||||
|
"typo3/cms-sys-note": "^13.4",
|
||||||
|
"typo3/cms-tstemplate": "^13.4",
|
||||||
|
"typo3/cms-viewpage": "^13.4",
|
||||||
|
"typo3/cms-webhooks": "^13.4"
|
||||||
|
},
|
||||||
|
"repositories": [
|
||||||
|
{
|
||||||
|
"type": "path",
|
||||||
|
"url": "./packages/*"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
7180
composer.lock
generated
Normal file
16
config/sites/coo/config.yaml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
base: /
|
||||||
|
dependencies:
|
||||||
|
- gaengeviertel-ev/coo-site-package
|
||||||
|
languages:
|
||||||
|
-
|
||||||
|
title: Deutsch
|
||||||
|
enabled: true
|
||||||
|
locale: de-DE
|
||||||
|
hreflang: ''
|
||||||
|
base: /
|
||||||
|
websiteTitle: ''
|
||||||
|
navigationTitle: ''
|
||||||
|
flag: global
|
||||||
|
languageId: 0
|
||||||
|
rootPageId: 46
|
||||||
|
websiteTitle: city-of-oz
|
||||||
8
config/sites/coo/settings.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
plugin:
|
||||||
|
bootstrap_package:
|
||||||
|
settings:
|
||||||
|
scss:
|
||||||
|
primary: '#e89ac5'
|
||||||
|
page:
|
||||||
|
logo:
|
||||||
|
alt: 'City of OZ'
|
||||||
117
config/system/settings.php
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
<?php
|
||||||
|
return [
|
||||||
|
'BE' => [
|
||||||
|
'debug' => false,
|
||||||
|
'installToolPassword' => '$argon2i$v=19$m=65536,t=16,p=1$MzloWi9ZZlVqb0hUNEdrQg$cFXNVSXllWDnuBT24iGY/VBMB2YmnnBEiAUzfZGoib4',
|
||||||
|
'passwordHashing' => [
|
||||||
|
'className' => 'TYPO3\\CMS\\Core\\Crypto\\PasswordHashing\\Argon2iPasswordHash',
|
||||||
|
'options' => [],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'DB' => [
|
||||||
|
'Connections' => [
|
||||||
|
'Default' => [
|
||||||
|
'charset' => 'utf8',
|
||||||
|
'driver' => 'mysqli',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'EXTENSIONS' => [
|
||||||
|
'backend' => [
|
||||||
|
'backendFavicon' => '',
|
||||||
|
'backendLogo' => '',
|
||||||
|
'loginBackgroundImage' => '',
|
||||||
|
'loginFootnote' => '',
|
||||||
|
'loginHighlightColor' => '',
|
||||||
|
'loginLogo' => '',
|
||||||
|
'loginLogoAlt' => '',
|
||||||
|
],
|
||||||
|
'bootstrap_package' => [
|
||||||
|
'disableCssProcessing' => '0',
|
||||||
|
'disableGoogleFontCaching' => '0',
|
||||||
|
'disablePageTsBackendLayouts' => '0',
|
||||||
|
'disablePageTsContentElements' => '0',
|
||||||
|
'disablePageTsRTE' => '0',
|
||||||
|
'disablePageTsTCADefaults' => '0',
|
||||||
|
'disablePageTsTCEFORM' => '0',
|
||||||
|
'disablePageTsTCEMAIN' => '0',
|
||||||
|
],
|
||||||
|
'extensionmanager' => [
|
||||||
|
'automaticInstallation' => '1',
|
||||||
|
'offlineMode' => '0',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'FE' => [
|
||||||
|
'cacheHash' => [
|
||||||
|
'enforceValidation' => true,
|
||||||
|
],
|
||||||
|
'debug' => false,
|
||||||
|
'disableNoCacheParameter' => true,
|
||||||
|
'passwordHashing' => [
|
||||||
|
'className' => 'TYPO3\\CMS\\Core\\Crypto\\PasswordHashing\\Argon2iPasswordHash',
|
||||||
|
'options' => [],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'GFX' => [
|
||||||
|
'processor' => 'GraphicsMagick',
|
||||||
|
'processor_effects' => false,
|
||||||
|
'processor_enabled' => true,
|
||||||
|
'processor_path' => '/usr/bin/',
|
||||||
|
],
|
||||||
|
'LOG' => [
|
||||||
|
'TYPO3' => [
|
||||||
|
'CMS' => [
|
||||||
|
'deprecations' => [
|
||||||
|
'writerConfiguration' => [
|
||||||
|
'notice' => [
|
||||||
|
'TYPO3\CMS\Core\Log\Writer\FileWriter' => [
|
||||||
|
'disabled' => true,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'MAIL' => [
|
||||||
|
'transport' => 'sendmail',
|
||||||
|
'transport_sendmail_command' => '/usr/local/bin/mailpit sendmail -t --smtp-addr 127.0.0.1:1025',
|
||||||
|
'transport_smtp_encrypt' => '',
|
||||||
|
'transport_smtp_password' => '',
|
||||||
|
'transport_smtp_server' => '',
|
||||||
|
'transport_smtp_username' => '',
|
||||||
|
],
|
||||||
|
'SYS' => [
|
||||||
|
'UTF8filesystem' => true,
|
||||||
|
'caching' => [
|
||||||
|
'cacheConfigurations' => [
|
||||||
|
'hash' => [
|
||||||
|
'backend' => 'TYPO3\\CMS\\Core\\Cache\\Backend\\Typo3DatabaseBackend',
|
||||||
|
],
|
||||||
|
'pages' => [
|
||||||
|
'backend' => 'TYPO3\\CMS\\Core\\Cache\\Backend\\Typo3DatabaseBackend',
|
||||||
|
'options' => [
|
||||||
|
'compression' => true,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'rootline' => [
|
||||||
|
'backend' => 'TYPO3\\CMS\\Core\\Cache\\Backend\\Typo3DatabaseBackend',
|
||||||
|
'options' => [
|
||||||
|
'compression' => true,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'devIPmask' => '',
|
||||||
|
'displayErrors' => 0,
|
||||||
|
'encryptionKey' => '14399b30dde93dde2c00c1425567568522588672a28a7e41ed4a6ff6b4cd24d2ced8b499f0124dc64fe7e3cdfb44ae7c',
|
||||||
|
'exceptionalErrors' => 4096,
|
||||||
|
'features' => [
|
||||||
|
'frontend.cache.autoTagging' => true,
|
||||||
|
],
|
||||||
|
'sitename' => 'coo',
|
||||||
|
'systemMaintainers' => [
|
||||||
|
1,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
0
packages/.gitkeep
Normal file
70
packages/coo_site_package/.editorconfig
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
# EditorConfig is awesome: http://EditorConfig.org
|
||||||
|
|
||||||
|
# top-most EditorConfig file
|
||||||
|
root = true
|
||||||
|
|
||||||
|
# Unix-style newlines with a newline ending every file
|
||||||
|
[*]
|
||||||
|
charset = utf-8
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
|
||||||
|
# CSS-Files
|
||||||
|
[*.css]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 4
|
||||||
|
|
||||||
|
# HTML-Files
|
||||||
|
[*.html]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 4
|
||||||
|
|
||||||
|
# TMPL-Files
|
||||||
|
[*.tmpl]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 4
|
||||||
|
|
||||||
|
# JS-Files
|
||||||
|
[*.js]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 4
|
||||||
|
|
||||||
|
# PHP-Files
|
||||||
|
[*.php]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 4
|
||||||
|
|
||||||
|
# MD-Files
|
||||||
|
[*.md]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 4
|
||||||
|
|
||||||
|
# ReST-Files
|
||||||
|
[*.rst]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 3
|
||||||
|
|
||||||
|
# TypoScript
|
||||||
|
[*.typoscript]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 4
|
||||||
|
|
||||||
|
# YML-Files
|
||||||
|
[{*.yml,*.yaml}]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
# package.json
|
||||||
|
[package.json]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
# composer.json
|
||||||
|
[composer.json]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 4
|
||||||
|
|
||||||
|
# phpstan
|
||||||
|
[*.neon]
|
||||||
|
indent_style = tab
|
||||||
2
packages/coo_site_package/Classes/.htaccess
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
Order deny,allow
|
||||||
|
Deny from all
|
||||||
1
packages/coo_site_package/Classes/Controller/.gitkeep
Normal file
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
1
packages/coo_site_package/Classes/Domain/.gitkeep
Normal file
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
1
packages/coo_site_package/Classes/Domain/Model/.gitkeep
Normal file
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
1
packages/coo_site_package/Classes/ViewHelpers/.gitkeep
Normal file
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
2
packages/coo_site_package/Configuration/.htaccess
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
Order deny,allow
|
||||||
|
Deny from all
|
||||||
5
packages/coo_site_package/Configuration/RTE/Default.yaml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
imports:
|
||||||
|
- { resource: "EXT:rte_ckeditor/Configuration/RTE/Processing.yaml" }
|
||||||
|
- { resource: "EXT:rte_ckeditor/Configuration/RTE/Editor/Base.yaml" }
|
||||||
|
- { resource: "EXT:rte_ckeditor/Configuration/RTE/Editor/Plugins.yaml" }
|
||||||
|
- { resource: "EXT:bootstrap_package/Configuration/RTE/Default.yaml" }
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
#
|
||||||
|
# BACKENDLAYOUT: EXAMPLE
|
||||||
|
#
|
||||||
|
mod {
|
||||||
|
web_layout {
|
||||||
|
BackendLayouts {
|
||||||
|
example {
|
||||||
|
title = LLL:EXT:coo_site_package/Resources/Private/Language/locallang_be.xlf:backend_layout.example
|
||||||
|
config {
|
||||||
|
backend_layout {
|
||||||
|
colCount = 1
|
||||||
|
rowCount = 1
|
||||||
|
rows {
|
||||||
|
1 {
|
||||||
|
columns {
|
||||||
|
1 {
|
||||||
|
name = LLL:EXT:coo_site_package/Resources/Private/Language/locallang_be.xlf:backend_layout.column.normal
|
||||||
|
colPos = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
icon = EXT:coo_site_package/Resources/Public/Icons/BackendLayouts/example.svg
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
name: gaengeviertel-ev/coo-site-package
|
||||||
|
label: 'coo-site-package'
|
||||||
|
dependencies:
|
||||||
|
- bootstrap-package/full
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
@import './PageTsConfig/BackendLayouts/'
|
||||||
|
|
||||||
|
RTE {
|
||||||
|
default {
|
||||||
|
preset = coo_site_package
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
TCEFORM {
|
||||||
|
pages {
|
||||||
|
|
||||||
|
}
|
||||||
|
tt_content {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
TCEMAIN {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
plugin:
|
||||||
|
bootstrap_package:
|
||||||
|
settings:
|
||||||
|
scss:
|
||||||
|
primary: '#eb3e4a'
|
||||||
|
secondary: '#013859'
|
||||||
|
view:
|
||||||
|
layoutRootPath: 'EXT:coo_site_package/Resources/Private/Layouts/'
|
||||||
|
partialRootPath: 'EXT:coo_site_package/Resources/Private/Partials/'
|
||||||
|
templateRootPath: 'EXT:coo_site_package/Resources/Private/Templates/'
|
||||||
|
bootstrap_package_contentelements:
|
||||||
|
view:
|
||||||
|
layoutRootPath: 'EXT:coo_site_package/Resources/Private/Layouts/ContentElements/'
|
||||||
|
partialRootPath: 'EXT:coo_site_package/Resources/Private/Partials/ContentElements/'
|
||||||
|
templateRootPath: 'EXT:coo_site_package/Resources/Private/Templates/ContentElements/'
|
||||||
|
page:
|
||||||
|
logo:
|
||||||
|
file: 'EXT:coo_site_package/Resources/Public/Images/coo_logo.jpg'
|
||||||
|
fileInverted: 'EXT:coo_site_package/Resources/Public/Images/logo-inverted.svg'
|
||||||
|
width: 192
|
||||||
|
alt: 'My Site Package'
|
||||||
|
linktitle: 'My Site Package'
|
||||||
|
favicon:
|
||||||
|
file: 'EXT:coo_site_package/Resources/Public/Icons/favicon.ico'
|
||||||
|
fluidtemplate:
|
||||||
|
layoutRootPath: 'EXT:coo_site_package/Resources/Private/Layouts/Page/'
|
||||||
|
partialRootPath: 'EXT:coo_site_package/Resources/Private/Partials/Page/'
|
||||||
|
templateRootPath: 'EXT:coo_site_package/Resources/Private/Templates/Page/'
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
page {
|
||||||
|
includeCSS {
|
||||||
|
theme = EXT:coo_site_package/Resources/Public/Scss/Theme/theme.scss
|
||||||
|
}
|
||||||
|
|
||||||
|
includeJSLibs {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
includeJS {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
includeJSFooterlibs {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
includeJSFooter {
|
||||||
|
coo_site_package_scripts = EXT:coo_site_package/Resources/Public/JavaScript/main.js
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use \TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
|
||||||
|
|
||||||
|
ExtensionManagementUtility::registerPageTSConfigFile(
|
||||||
|
'coo_site_package',
|
||||||
|
'Configuration/TsConfig/Page/TCEFORM.tsconfig',
|
||||||
|
'TCE Layout'
|
||||||
|
);
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
TCEFORM {
|
||||||
|
pages {
|
||||||
|
layout {
|
||||||
|
removeItems = 1,2,3
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tt_content {
|
||||||
|
// Reanabled: Disable imageheight and imagewidth for textpic and image
|
||||||
|
// to avoid incorrect rendering in frontend
|
||||||
|
|
||||||
|
imageheight.disabled = 0
|
||||||
|
imagewidth.disabled = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
lib.footer = COA
|
||||||
|
lib.footer {
|
||||||
|
10 = TEXT
|
||||||
|
10.value = "EIN PROJEKT DES GÄNGEVIERTEL E.V. UND GRAFFITIARCHIV / ARCHIV DER JUGENDKULTUREN E.V. "
|
||||||
|
|
||||||
|
20 = IMAGE
|
||||||
|
}
|
||||||
4
packages/coo_site_package/README.md
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
Site Package for the project "coo-site-package"
|
||||||
|
==============================================================
|
||||||
|
|
||||||
|
Add some explanation here.
|
||||||
2
packages/coo_site_package/Resources/Private/.htaccess
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
Order deny,allow
|
||||||
|
Deny from all
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||||
|
<xliff version="1.0">
|
||||||
|
<file source-language="en" datatype="plaintext" original="messages" date="2025-02-21UTC18:16:290">
|
||||||
|
<header>
|
||||||
|
<authorName>City-of-OZ Team</authorName>
|
||||||
|
<authorEmail>info@city-of-oz.hamburg</authorEmail>
|
||||||
|
</header>
|
||||||
|
<body>
|
||||||
|
</body>
|
||||||
|
</file>
|
||||||
|
</xliff>
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||||
|
<xliff version="1.0">
|
||||||
|
<file source-language="en" datatype="plaintext" original="messages" date="2025-02-21UTC18:16:290">
|
||||||
|
<header>
|
||||||
|
<authorName>City-of-OZ Team</authorName>
|
||||||
|
<authorEmail>info@city-of-oz.hamburg</authorEmail>
|
||||||
|
</header>
|
||||||
|
<body>
|
||||||
|
<trans-unit id="backend_layout.example">
|
||||||
|
<source>Example</source>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="backend_layout.column.normal">
|
||||||
|
<source>Normal</source>
|
||||||
|
</trans-unit>
|
||||||
|
</body>
|
||||||
|
</file>
|
||||||
|
</xliff>
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||||
|
<xliff version="1.0">
|
||||||
|
<file source-language="en" datatype="plaintext" original="messages" date="2025-02-21UTC18:16:290">
|
||||||
|
<header>
|
||||||
|
<authorName>City-of-OZ Team</authorName>
|
||||||
|
<authorEmail>info@city-of-oz.hamburg</authorEmail>
|
||||||
|
</header>
|
||||||
|
<body>
|
||||||
|
</body>
|
||||||
|
</file>
|
||||||
|
</xliff>
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||||
|
<div id="top"></div>
|
||||||
|
<div class="body-bg{f:if(condition:theme.navigation.type, then:' body-bg-{theme.navigation.type}')}">
|
||||||
|
|
||||||
|
<f:render partial="DropIn/Page/PageBefore" arguments="{_all}" />
|
||||||
|
<f:render partial="Structure/CookieConsent" arguments="{_all}" />
|
||||||
|
<f:render partial="Structure/Skiplink" arguments="{_all}" />
|
||||||
|
|
||||||
|
<f:render partial="Navigation/Main" arguments="{_all}" />
|
||||||
|
<f:render section="Border" optional="true" />
|
||||||
|
<f:render partial="Navigation/Breadcrumb" arguments="{_all}" />
|
||||||
|
|
||||||
|
<main id="page-content" class="bp-page-content main-section">
|
||||||
|
<!--TYPO3SEARCH_begin-->
|
||||||
|
<f:render section="Main" />
|
||||||
|
<!--TYPO3SEARCH_end-->
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer id="page-footer" class="bp-page-footer">
|
||||||
|
<f:render partial="DropIn/Structure/FooterBefore" arguments="{_all}" />
|
||||||
|
<f:render section="Footer" optional="true" />
|
||||||
|
|
||||||
|
<f:render partial="DropIn/Structure/FooterAfter" arguments="{_all}" />
|
||||||
|
</footer>
|
||||||
|
<f:render partial="Structure/ScrollTop" arguments="{_all}" />
|
||||||
|
<f:render partial="DropIn/Page/PageAfter" arguments="{_all}" />
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" xmlns:bk2k="http://typo3.org/ns/BK2K/BootstrapPackage/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||||
|
<picture>
|
||||||
|
<f:for each="{variants}" key="name" as="variant">
|
||||||
|
<f:variable name="breakpoint">{variant.breakpoint as integer}</f:variable>
|
||||||
|
<f:variable name="width">{variant.width as integer}</f:variable>
|
||||||
|
<f:variable name="height" value="" />
|
||||||
|
<f:if condition="{width}">
|
||||||
|
<f:if condition="{variant.aspectRatio}">
|
||||||
|
<f:variable name="aspectRatio">{variant.aspectRatio as float}</f:variable>
|
||||||
|
<f:variable name="height">{width / aspectRatio}</f:variable>
|
||||||
|
<f:variable name="height">{height as integer}</f:variable>
|
||||||
|
</f:if>
|
||||||
|
<f:variable name="mediaQuery">{f:if(condition: breakpoint, then: 'media="(min-width: {breakpoint}px)"')}</f:variable>
|
||||||
|
<f:if condition="{variant.sizes}">
|
||||||
|
<f:variable name="srcset" value="" />
|
||||||
|
<f:for each="{variant.sizes}" key="sizeKey" as="sizeConfig" iteration="iteration">
|
||||||
|
<f:variable name="sizeWidth">{sizeConfig.multiplier as float}</f:variable>
|
||||||
|
<f:variable name="sizeWidth">{sizeWidth * width}</f:variable>
|
||||||
|
<f:variable name="sizeHeight" value="" />
|
||||||
|
<f:if condition="{height}">
|
||||||
|
<f:then>
|
||||||
|
<f:variable name="sizeHeight">{sizeConfig.multiplier as float}</f:variable>
|
||||||
|
<f:variable name="sizeHeight">{sizeHeight * height}</f:variable>
|
||||||
|
<f:variable name="sizeUrl">{f:uri.image(image: file, cropVariant: name, width: '{sizeWidth}c', height: '{sizeHeight}c')}</f:variable>
|
||||||
|
</f:then>
|
||||||
|
<f:else>
|
||||||
|
<f:variable name="sizeUrl">{f:uri.image(image: file, cropVariant: name, maxWidth: sizeWidth)}</f:variable>
|
||||||
|
</f:else>
|
||||||
|
</f:if>
|
||||||
|
<f:variable name="srcset">{srcset}{sizeUrl} {sizeKey}{f:if(condition: iteration.isLast, else: ',')}</f:variable>
|
||||||
|
</f:for>
|
||||||
|
</f:if>
|
||||||
|
<source data-variant="{name}" {f:if(condition: sizeHeight, then: 'data-width="{width}" data-height="{sizeHeight}"', else: 'data-maxwidth="{width}"')} {mediaQuery->f:format.raw()} srcset="{srcset}">
|
||||||
|
</f:if>
|
||||||
|
</f:for>
|
||||||
|
<f:variable name="defaultWidth" value="{variants.default.width}" />
|
||||||
|
<f:variable name="defaultAspectRatio" value="{variants.default.aspectRatio}" />
|
||||||
|
<f:if condition="{defaultAspectRatio}">
|
||||||
|
<f:variable name="aspectRatio">{defaultAspectRatio as float}</f:variable>
|
||||||
|
<f:variable name="defaultHeight">{defaultWidth / aspectRatio}</f:variable>
|
||||||
|
<f:variable name="defaultHeight">{defaultHeight as integer}c</f:variable>
|
||||||
|
</f:if>
|
||||||
|
<f:if condition="{defaultHeight}">
|
||||||
|
<f:then>
|
||||||
|
<f:variable name="src" value="{f:uri.image(image: file, cropVariant: 'default', width: defaultWidth, height: defaultHeight)}" />
|
||||||
|
</f:then>
|
||||||
|
<f:else>
|
||||||
|
<f:variable name="src" value="{f:uri.image(image: file, cropVariant: 'default', width: defaultWidth)}" />
|
||||||
|
</f:else>
|
||||||
|
</f:if>
|
||||||
|
<f:variable name="finalWidth" value="{bk2k:data.imageInfo(src: src, property: 'width')}" />
|
||||||
|
<f:variable name="finalHeight" value="{bk2k:data.imageInfo(src: src, property: 'height')}" />
|
||||||
|
<img loading="lazy" src="{src}" width="{finalWidth}" height="{finalHeight}" title="{dimensions.height}xxx{file.properties.title}" alt="{file.properties.alternative}">
|
||||||
|
</picture>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||||
|
<f:layout name="Default" />
|
||||||
|
<f:section name="Border">
|
||||||
|
|
||||||
|
<f:cObject typoscriptObjectPath="lib.dynamicContent" data="{pageUid: '{data.uid}', colPos: '3', slide: '{theme.pagelayout.{pagelayout}.colPos.3.slide}'}" />
|
||||||
|
|
||||||
|
</f:section>
|
||||||
|
<f:section name="Main">
|
||||||
|
|
||||||
|
<f:cObject typoscriptObjectPath="lib.dynamicContent" data="{pageUid: '{data.uid}', colPos: '8', slide: '{theme.pagelayout.{pagelayout}.colPos.8.slide}'}" />
|
||||||
|
|
||||||
|
<div class="section section-default content-column container">
|
||||||
|
<f:cObject typoscriptObjectPath="lib.dynamicContent" data="{pageUid: '{data.uid}', colPos: '0', slide: '{theme.pagelayout.{pagelayout}.colPos.0.slide}'}" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<f:cObject typoscriptObjectPath="lib.dynamicContent" data="{pageUid: '{data.uid}', colPos: '9', slide: '{theme.pagelayout.{pagelayout}.colPos.9.slide}'}" />
|
||||||
|
|
||||||
|
</f:section>
|
||||||
|
<f:section name="Footer">
|
||||||
|
|
||||||
|
<f:render partial="Structure/FooterContent" arguments="{_all}" />
|
||||||
|
|
||||||
|
</f:section>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||||
|
<f:layout name="Default" />
|
||||||
|
<f:section name="Main">
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<div class="alert alert-info">
|
||||||
|
<dl>
|
||||||
|
<dt>Template file</dt>
|
||||||
|
<dd>
|
||||||
|
<code>typo3conf/ext/coo_site_package/Resources/Private/Templates/Page/Example.html</code>
|
||||||
|
</dd>
|
||||||
|
<dt>Backend Configuration</dt>
|
||||||
|
<dd>
|
||||||
|
<code>typo3conf/ext/coo_site_package/Configuration/TsConfig/Page/Mod/WebLayout/BackendLayouts/example.tsconfig</code>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<f:cObject typoscriptObjectPath="lib.dynamicContent" data="{pageUid: '{data.uid}', colPos: '0'}" />
|
||||||
|
|
||||||
|
</f:section>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||||
|
<f:layout name="Default" />
|
||||||
|
<f:section name="Border">
|
||||||
|
|
||||||
|
<f:cObject typoscriptObjectPath="lib.dynamicContent" data="{pageUid: '{data.uid}', colPos: '3', slide: '{theme.pagelayout.{pagelayout}.colPos.3.slide}'}" />
|
||||||
|
|
||||||
|
</f:section>
|
||||||
|
<f:section name="Main">
|
||||||
|
|
||||||
|
<f:cObject typoscriptObjectPath="lib.dynamicContent" data="{pageUid: '{data.uid}', colPos: '8', slide: '{theme.pagelayout.{pagelayout}.colPos.8.slide}'}" />
|
||||||
|
|
||||||
|
<div class="section section-default">
|
||||||
|
<div class="container ">
|
||||||
|
<div class="section-row">
|
||||||
|
<div class="section-column content-column maincontent-wrap">
|
||||||
|
<f:cObject typoscriptObjectPath="lib.dynamicContent" data="{pageUid: '{data.uid}', colPos: '0', slide: '{theme.pagelayout.{pagelayout}.colPos.0.slide}'}" />
|
||||||
|
</div>
|
||||||
|
<div class="section-column subnav-wrap">
|
||||||
|
<f:render partial="Navigation/Subnavigation" arguments="{_all}" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<f:cObject typoscriptObjectPath="lib.dynamicContent" data="{pageUid: '{data.uid}', colPos: '9', slide: '{theme.pagelayout.{pagelayout}.colPos.9.slide}'}" />
|
||||||
|
|
||||||
|
</f:section>
|
||||||
|
<f:section name="Footer">
|
||||||
|
|
||||||
|
<f:render partial="Structure/FooterContent" arguments="{_all}" />
|
||||||
|
|
||||||
|
</f:section>
|
||||||
|
</html>
|
||||||
1
packages/coo_site_package/Resources/Public/Css/.gitkeep
Normal file
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="86" height="128" viewBox="0 0 86 128"><path fill="#FFF" d="M0 0h86v128H0z"/><path fill="#69bba8" d="M2 2h82v124H2z"/></svg>
|
||||||
|
After Width: | Height: | Size: 170 B |
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="83.098" height="84.172" viewBox="43.201 42.122 83.098 84.172">
|
||||||
|
<path fill="#FF8700" d="M106.074 100.128c-1.247.368-2.242.506-3.549.506-10.689 0-26.389-37.359-26.389-49.793 0-4.577 1.083-6.104 2.613-7.415-13.084 1.527-28.784 6.329-33.806 12.433-1.085 1.529-1.743 3.926-1.743 6.98 0 19.41 20.718 63.455 35.332 63.455 6.765.001 18.164-11.112 27.542-26.166M99.25 42.122c13.52 0 27.049 2.18 27.049 9.812 0 15.483-9.819 34.246-14.832 34.246-8.942 0-20.065-24.867-20.065-37.301.001-5.67 2.181-6.757 7.848-6.757"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 563 B |
BIN
packages/coo_site_package/Resources/Public/Icons/favicon.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 185 50"><path fill="#FFF" d="M4.2 33.4c1 1.1 2.1 2 3.4 2.6 1.3.6 2.8 1 4.3 1 2 0 3.6-.5 4.8-1.5 1.2-1 1.8-2.2 1.8-3.8 0-.8-.1-1.5-.4-2.1-.3-.6-.6-1-1-1.5-.4-.4-.9-.8-1.5-1.1l-1.8-.9-4-1.8c-.6-.2-1.2-.5-1.8-.9-.6-.3-1.2-.8-1.7-1.3S5.3 21 5 20.3s-.5-1.6-.5-2.5c0-1 .2-1.8.6-2.6.4-.8.9-1.5 1.6-2 .7-.6 1.5-1 2.4-1.3.9-.3 2-.5 3.1-.5 1.6 0 3 .3 4.3.9 1.2.6 2.3 1.4 3.1 2.2l-1 1.2c-.8-.8-1.7-1.5-2.7-2-1-.5-2.2-.7-3.6-.7-1.8 0-3.2.4-4.2 1.3-1.1.9-1.6 2-1.6 3.4 0 .8.1 1.4.4 2 .3.5.7 1 1.1 1.4.5.4.9.7 1.5 1 .5.3 1 .5 1.5.7l4 1.8c.7.3 1.5.7 2.1 1.1s1.3.9 1.8 1.4c.5.5.9 1.2 1.2 1.9.3.7.5 1.6.5 2.6s-.2 2-.6 2.8-1 1.6-1.7 2.2c-.7.6-1.6 1.1-2.7 1.5-1 .4-2.2.5-3.5.5-1.9 0-3.6-.4-5.1-1.1-1.5-.7-2.8-1.7-3.8-2.9l1-1.2zM34.6 7.6h1.5L23.9 42.4h-1.5L34.6 7.6zm5.6 4.2h7.2c1.5 0 2.8.1 3.9.4 1.2.3 2.1.7 3 1.3.8.6 1.4 1.3 1.9 2.3.4.9.6 2.1.6 3.4 0 2.6-.8 4.5-2.5 5.8-1.7 1.3-4 1.9-6.9 1.9H42v11.3h-1.8V11.8zM47 25.3c2.7 0 4.7-.5 6-1.4 1.3-1 2-2.5 2-4.7 0-1.1-.2-2-.5-2.8-.3-.7-.8-1.3-1.5-1.8s-1.5-.8-2.5-1c-1-.2-2.2-.3-3.5-.3h-5v11.9h5zm15.6-13.5h1.8v14.6h.1l12.8-14.6h2.2L71 21.6l9.6 16.6h-2.1L69.8 23l-5.4 6.1v9.1h-1.8V11.8zm19.8 13.1c0-2.1.3-4 .8-5.6.6-1.7 1.4-3.1 2.4-4.3 1-1.2 2.3-2.1 3.7-2.7 1.4-.6 3-.9 4.8-.9.9 0 1.7.1 2.4.3.7.2 1.4.4 2 .7.6.3 1.1.6 1.6 1s.9.7 1.2 1.1l-1.1 1.2c-.7-.7-1.5-1.4-2.5-1.9s-2.1-.8-3.6-.8-2.9.3-4.1.8c-1.2.6-2.2 1.4-3.1 2.4-.8 1-1.5 2.3-1.9 3.7-.5 1.5-.7 3.1-.7 5 0 1.8.2 3.5.6 5 .4 1.5 1 2.7 1.9 3.8.8 1 1.8 1.8 3 2.4 1.2.6 2.5.9 4 .9 1.2 0 2.3-.2 3.4-.5s1.9-.8 2.5-1.5v-8.2h-6.3v-1.6h8.1v10.4c-.8.9-1.9 1.6-3.2 2.2-1.3.6-2.9.8-4.6.8-1.7 0-3.2-.3-4.6-1-1.4-.6-2.6-1.6-3.6-2.7-1-1.2-1.8-2.6-2.3-4.3-.5-1.7-.8-3.6-.8-5.7zM117 7.6h1.5l-12.2 34.8h-1.5L117 7.6zm5.6 4.2h7.1c2.7 0 4.8.5 6.4 1.5 1.6 1 2.4 2.6 2.4 4.9 0 1.4-.4 2.6-1.2 3.6-.8 1-2 1.7-3.5 2.1v.2c1.9.3 3.5 1 4.6 2 1.1 1.1 1.7 2.5 1.7 4.3 0 1.3-.2 2.4-.7 3.4-.5 1-1.1 1.8-2 2.4-.9.6-1.9 1.1-3.1 1.4-1.2.3-2.5.5-4 .5h-7.6V11.8zm6.4 11.6c2.7 0 4.7-.4 5.8-1.3 1.2-.9 1.8-2.2 1.8-3.9 0-1.7-.6-2.9-1.9-3.7-1.3-.8-3.1-1.1-5.5-1.1h-4.8v10.1h4.6zm.8 13.3c2.6 0 4.7-.5 6.2-1.5s2.3-2.5 2.3-4.7c0-1.9-.7-3.3-2.2-4.2-1.5-.9-3.6-1.4-6.3-1.4h-5.3v11.8h5.3zm15.9-24.9h1.8v24.8h12.2v1.6h-14V11.8zm18.7 0h6.1c2 0 3.8.3 5.3.9 1.5.6 2.8 1.5 3.7 2.6 1 1.1 1.7 2.5 2.2 4.1.5 1.6.7 3.4.7 5.4s-.2 3.8-.7 5.5c-.5 1.6-1.2 3-2.2 4.2-1 1.2-2.2 2.1-3.7 2.7-1.5.6-3.3.9-5.3.9h-6.2V11.8zm5.9 24.8c1.8 0 3.3-.3 4.6-.9 1.3-.6 2.4-1.4 3.2-2.4s1.4-2.3 1.8-3.7c.4-1.4.6-3 .6-4.7 0-1.7-.2-3.3-.6-4.7-.4-1.4-1-2.6-1.8-3.6s-1.9-1.8-3.2-2.4c-1.3-.6-2.8-.8-4.6-.8h-4.1v23.2h4.1z"/></svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 185 50"><path d="M4.2 33.4c1 1.1 2.1 2 3.4 2.6 1.3.6 2.8 1 4.3 1 2 0 3.6-.5 4.8-1.5 1.2-1 1.8-2.2 1.8-3.8 0-.8-.1-1.5-.4-2.1-.3-.6-.6-1-1-1.5-.4-.4-.9-.8-1.5-1.1l-1.8-.9-4-1.8c-.6-.2-1.2-.5-1.8-.9-.6-.3-1.2-.8-1.7-1.3S5.3 21 5 20.3s-.5-1.6-.5-2.5c0-1 .2-1.8.6-2.6.4-.8.9-1.5 1.6-2 .7-.6 1.5-1 2.4-1.3.9-.3 2-.5 3.1-.5 1.6 0 3 .3 4.3.9 1.2.6 2.3 1.4 3.1 2.2l-1 1.2c-.8-.8-1.7-1.5-2.7-2-1-.5-2.2-.7-3.6-.7-1.8 0-3.2.4-4.2 1.3-1.1.9-1.6 2-1.6 3.4 0 .8.1 1.4.4 2 .3.5.7 1 1.1 1.4.5.4.9.7 1.5 1 .5.3 1 .5 1.5.7l4 1.8c.7.3 1.5.7 2.1 1.1s1.3.9 1.8 1.4c.5.5.9 1.2 1.2 1.9.3.7.5 1.6.5 2.6s-.2 2-.6 2.8-1 1.6-1.7 2.2c-.7.6-1.6 1.1-2.7 1.5-1 .4-2.2.5-3.5.5-1.9 0-3.6-.4-5.1-1.1-1.5-.7-2.8-1.7-3.8-2.9l1-1.2zM34.6 7.6h1.5L23.9 42.4h-1.5L34.6 7.6zm5.6 4.2h7.2c1.5 0 2.8.1 3.9.4 1.2.3 2.1.7 3 1.3.8.6 1.4 1.3 1.9 2.3.4.9.6 2.1.6 3.4 0 2.6-.8 4.5-2.5 5.8-1.7 1.3-4 1.9-6.9 1.9H42v11.3h-1.8V11.8zM47 25.3c2.7 0 4.7-.5 6-1.4 1.3-1 2-2.5 2-4.7 0-1.1-.2-2-.5-2.8-.3-.7-.8-1.3-1.5-1.8s-1.5-.8-2.5-1c-1-.2-2.2-.3-3.5-.3h-5v11.9h5zm15.6-13.5h1.8v14.6h.1l12.8-14.6h2.2L71 21.6l9.6 16.6h-2.1L69.8 23l-5.4 6.1v9.1h-1.8V11.8zm19.8 13.1c0-2.1.3-4 .8-5.6.6-1.7 1.4-3.1 2.4-4.3 1-1.2 2.3-2.1 3.7-2.7 1.4-.6 3-.9 4.8-.9.9 0 1.7.1 2.4.3.7.2 1.4.4 2 .7.6.3 1.1.6 1.6 1s.9.7 1.2 1.1l-1.1 1.2c-.7-.7-1.5-1.4-2.5-1.9s-2.1-.8-3.6-.8-2.9.3-4.1.8c-1.2.6-2.2 1.4-3.1 2.4-.8 1-1.5 2.3-1.9 3.7-.5 1.5-.7 3.1-.7 5 0 1.8.2 3.5.6 5 .4 1.5 1 2.7 1.9 3.8.8 1 1.8 1.8 3 2.4 1.2.6 2.5.9 4 .9 1.2 0 2.3-.2 3.4-.5s1.9-.8 2.5-1.5v-8.2h-6.3v-1.6h8.1v10.4c-.8.9-1.9 1.6-3.2 2.2-1.3.6-2.9.8-4.6.8-1.7 0-3.2-.3-4.6-1-1.4-.6-2.6-1.6-3.6-2.7-1-1.2-1.8-2.6-2.3-4.3-.5-1.7-.8-3.6-.8-5.7zM117 7.6h1.5l-12.2 34.8h-1.5L117 7.6zm5.6 4.2h7.1c2.7 0 4.8.5 6.4 1.5 1.6 1 2.4 2.6 2.4 4.9 0 1.4-.4 2.6-1.2 3.6-.8 1-2 1.7-3.5 2.1v.2c1.9.3 3.5 1 4.6 2 1.1 1.1 1.7 2.5 1.7 4.3 0 1.3-.2 2.4-.7 3.4-.5 1-1.1 1.8-2 2.4-.9.6-1.9 1.1-3.1 1.4-1.2.3-2.5.5-4 .5h-7.6V11.8zm6.4 11.6c2.7 0 4.7-.4 5.8-1.3 1.2-.9 1.8-2.2 1.8-3.9 0-1.7-.6-2.9-1.9-3.7-1.3-.8-3.1-1.1-5.5-1.1h-4.8v10.1h4.6zm.8 13.3c2.6 0 4.7-.5 6.2-1.5s2.3-2.5 2.3-4.7c0-1.9-.7-3.3-2.2-4.2-1.5-.9-3.6-1.4-6.3-1.4h-5.3v11.8h5.3zm15.9-24.9h1.8v24.8h12.2v1.6h-14V11.8zm18.7 0h6.1c2 0 3.8.3 5.3.9 1.5.6 2.8 1.5 3.7 2.6 1 1.1 1.7 2.5 2.2 4.1.5 1.6.7 3.4.7 5.4s-.2 3.8-.7 5.5c-.5 1.6-1.2 3-2.2 4.2-1 1.2-2.2 2.1-3.7 2.7-1.5.6-3.3.9-5.3.9h-6.2V11.8zm5.9 24.8c1.8 0 3.3-.3 4.6-.9 1.3-.6 2.4-1.4 3.2-2.4s1.4-2.3 1.8-3.7c.4-1.4.6-3 .6-4.7 0-1.7-.2-3.3-.6-4.7-.4-1.4-1-2.6-1.8-3.6s-1.9-1.8-3.2-2.4c-1.3-.6-2.8-.8-4.6-.8h-4.1v23.2h4.1z"/></svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
BIN
packages/coo_site_package/Resources/Public/Images/coo_logo.jpg
Executable file
|
After Width: | Height: | Size: 163 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 185 50"><path fill="#FFF" d="M4.2 33.4c1 1.1 2.1 2 3.4 2.6 1.3.6 2.8 1 4.3 1 2 0 3.6-.5 4.8-1.5 1.2-1 1.8-2.2 1.8-3.8 0-.8-.1-1.5-.4-2.1-.3-.6-.6-1-1-1.5-.4-.4-.9-.8-1.5-1.1l-1.8-.9-4-1.8c-.6-.2-1.2-.5-1.8-.9-.6-.3-1.2-.8-1.7-1.3S5.3 21 5 20.3s-.5-1.6-.5-2.5c0-1 .2-1.8.6-2.6.4-.8.9-1.5 1.6-2 .7-.6 1.5-1 2.4-1.3.9-.3 2-.5 3.1-.5 1.6 0 3 .3 4.3.9 1.2.6 2.3 1.4 3.1 2.2l-1 1.2c-.8-.8-1.7-1.5-2.7-2-1-.5-2.2-.7-3.6-.7-1.8 0-3.2.4-4.2 1.3-1.1.9-1.6 2-1.6 3.4 0 .8.1 1.4.4 2 .3.5.7 1 1.1 1.4.5.4.9.7 1.5 1 .5.3 1 .5 1.5.7l4 1.8c.7.3 1.5.7 2.1 1.1s1.3.9 1.8 1.4c.5.5.9 1.2 1.2 1.9.3.7.5 1.6.5 2.6s-.2 2-.6 2.8-1 1.6-1.7 2.2c-.7.6-1.6 1.1-2.7 1.5-1 .4-2.2.5-3.5.5-1.9 0-3.6-.4-5.1-1.1-1.5-.7-2.8-1.7-3.8-2.9l1-1.2zM34.6 7.6h1.5L23.9 42.4h-1.5L34.6 7.6zm5.6 4.2h7.2c1.5 0 2.8.1 3.9.4 1.2.3 2.1.7 3 1.3.8.6 1.4 1.3 1.9 2.3.4.9.6 2.1.6 3.4 0 2.6-.8 4.5-2.5 5.8-1.7 1.3-4 1.9-6.9 1.9H42v11.3h-1.8V11.8zM47 25.3c2.7 0 4.7-.5 6-1.4 1.3-1 2-2.5 2-4.7 0-1.1-.2-2-.5-2.8-.3-.7-.8-1.3-1.5-1.8s-1.5-.8-2.5-1c-1-.2-2.2-.3-3.5-.3h-5v11.9h5zm15.6-13.5h1.8v14.6h.1l12.8-14.6h2.2L71 21.6l9.6 16.6h-2.1L69.8 23l-5.4 6.1v9.1h-1.8V11.8zm19.8 13.1c0-2.1.3-4 .8-5.6.6-1.7 1.4-3.1 2.4-4.3 1-1.2 2.3-2.1 3.7-2.7 1.4-.6 3-.9 4.8-.9.9 0 1.7.1 2.4.3.7.2 1.4.4 2 .7.6.3 1.1.6 1.6 1s.9.7 1.2 1.1l-1.1 1.2c-.7-.7-1.5-1.4-2.5-1.9s-2.1-.8-3.6-.8-2.9.3-4.1.8c-1.2.6-2.2 1.4-3.1 2.4-.8 1-1.5 2.3-1.9 3.7-.5 1.5-.7 3.1-.7 5 0 1.8.2 3.5.6 5 .4 1.5 1 2.7 1.9 3.8.8 1 1.8 1.8 3 2.4 1.2.6 2.5.9 4 .9 1.2 0 2.3-.2 3.4-.5s1.9-.8 2.5-1.5v-8.2h-6.3v-1.6h8.1v10.4c-.8.9-1.9 1.6-3.2 2.2-1.3.6-2.9.8-4.6.8-1.7 0-3.2-.3-4.6-1-1.4-.6-2.6-1.6-3.6-2.7-1-1.2-1.8-2.6-2.3-4.3-.5-1.7-.8-3.6-.8-5.7zM117 7.6h1.5l-12.2 34.8h-1.5L117 7.6zm5.6 4.2h7.1c2.7 0 4.8.5 6.4 1.5 1.6 1 2.4 2.6 2.4 4.9 0 1.4-.4 2.6-1.2 3.6-.8 1-2 1.7-3.5 2.1v.2c1.9.3 3.5 1 4.6 2 1.1 1.1 1.7 2.5 1.7 4.3 0 1.3-.2 2.4-.7 3.4-.5 1-1.1 1.8-2 2.4-.9.6-1.9 1.1-3.1 1.4-1.2.3-2.5.5-4 .5h-7.6V11.8zm6.4 11.6c2.7 0 4.7-.4 5.8-1.3 1.2-.9 1.8-2.2 1.8-3.9 0-1.7-.6-2.9-1.9-3.7-1.3-.8-3.1-1.1-5.5-1.1h-4.8v10.1h4.6zm.8 13.3c2.6 0 4.7-.5 6.2-1.5s2.3-2.5 2.3-4.7c0-1.9-.7-3.3-2.2-4.2-1.5-.9-3.6-1.4-6.3-1.4h-5.3v11.8h5.3zm15.9-24.9h1.8v24.8h12.2v1.6h-14V11.8zm18.7 0h6.1c2 0 3.8.3 5.3.9 1.5.6 2.8 1.5 3.7 2.6 1 1.1 1.7 2.5 2.2 4.1.5 1.6.7 3.4.7 5.4s-.2 3.8-.7 5.5c-.5 1.6-1.2 3-2.2 4.2-1 1.2-2.2 2.1-3.7 2.7-1.5.6-3.3.9-5.3.9h-6.2V11.8zm5.9 24.8c1.8 0 3.3-.3 4.6-.9 1.3-.6 2.4-1.4 3.2-2.4s1.4-2.3 1.8-3.7c.4-1.4.6-3 .6-4.7 0-1.7-.2-3.3-.6-4.7-.4-1.4-1-2.6-1.8-3.6s-1.9-1.8-3.2-2.4c-1.3-.6-2.8-.8-4.6-.8h-4.1v23.2h4.1z"/></svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 185 50"><path d="M4.2 33.4c1 1.1 2.1 2 3.4 2.6 1.3.6 2.8 1 4.3 1 2 0 3.6-.5 4.8-1.5 1.2-1 1.8-2.2 1.8-3.8 0-.8-.1-1.5-.4-2.1-.3-.6-.6-1-1-1.5-.4-.4-.9-.8-1.5-1.1l-1.8-.9-4-1.8c-.6-.2-1.2-.5-1.8-.9-.6-.3-1.2-.8-1.7-1.3S5.3 21 5 20.3s-.5-1.6-.5-2.5c0-1 .2-1.8.6-2.6.4-.8.9-1.5 1.6-2 .7-.6 1.5-1 2.4-1.3.9-.3 2-.5 3.1-.5 1.6 0 3 .3 4.3.9 1.2.6 2.3 1.4 3.1 2.2l-1 1.2c-.8-.8-1.7-1.5-2.7-2-1-.5-2.2-.7-3.6-.7-1.8 0-3.2.4-4.2 1.3-1.1.9-1.6 2-1.6 3.4 0 .8.1 1.4.4 2 .3.5.7 1 1.1 1.4.5.4.9.7 1.5 1 .5.3 1 .5 1.5.7l4 1.8c.7.3 1.5.7 2.1 1.1s1.3.9 1.8 1.4c.5.5.9 1.2 1.2 1.9.3.7.5 1.6.5 2.6s-.2 2-.6 2.8-1 1.6-1.7 2.2c-.7.6-1.6 1.1-2.7 1.5-1 .4-2.2.5-3.5.5-1.9 0-3.6-.4-5.1-1.1-1.5-.7-2.8-1.7-3.8-2.9l1-1.2zM34.6 7.6h1.5L23.9 42.4h-1.5L34.6 7.6zm5.6 4.2h7.2c1.5 0 2.8.1 3.9.4 1.2.3 2.1.7 3 1.3.8.6 1.4 1.3 1.9 2.3.4.9.6 2.1.6 3.4 0 2.6-.8 4.5-2.5 5.8-1.7 1.3-4 1.9-6.9 1.9H42v11.3h-1.8V11.8zM47 25.3c2.7 0 4.7-.5 6-1.4 1.3-1 2-2.5 2-4.7 0-1.1-.2-2-.5-2.8-.3-.7-.8-1.3-1.5-1.8s-1.5-.8-2.5-1c-1-.2-2.2-.3-3.5-.3h-5v11.9h5zm15.6-13.5h1.8v14.6h.1l12.8-14.6h2.2L71 21.6l9.6 16.6h-2.1L69.8 23l-5.4 6.1v9.1h-1.8V11.8zm19.8 13.1c0-2.1.3-4 .8-5.6.6-1.7 1.4-3.1 2.4-4.3 1-1.2 2.3-2.1 3.7-2.7 1.4-.6 3-.9 4.8-.9.9 0 1.7.1 2.4.3.7.2 1.4.4 2 .7.6.3 1.1.6 1.6 1s.9.7 1.2 1.1l-1.1 1.2c-.7-.7-1.5-1.4-2.5-1.9s-2.1-.8-3.6-.8-2.9.3-4.1.8c-1.2.6-2.2 1.4-3.1 2.4-.8 1-1.5 2.3-1.9 3.7-.5 1.5-.7 3.1-.7 5 0 1.8.2 3.5.6 5 .4 1.5 1 2.7 1.9 3.8.8 1 1.8 1.8 3 2.4 1.2.6 2.5.9 4 .9 1.2 0 2.3-.2 3.4-.5s1.9-.8 2.5-1.5v-8.2h-6.3v-1.6h8.1v10.4c-.8.9-1.9 1.6-3.2 2.2-1.3.6-2.9.8-4.6.8-1.7 0-3.2-.3-4.6-1-1.4-.6-2.6-1.6-3.6-2.7-1-1.2-1.8-2.6-2.3-4.3-.5-1.7-.8-3.6-.8-5.7zM117 7.6h1.5l-12.2 34.8h-1.5L117 7.6zm5.6 4.2h7.1c2.7 0 4.8.5 6.4 1.5 1.6 1 2.4 2.6 2.4 4.9 0 1.4-.4 2.6-1.2 3.6-.8 1-2 1.7-3.5 2.1v.2c1.9.3 3.5 1 4.6 2 1.1 1.1 1.7 2.5 1.7 4.3 0 1.3-.2 2.4-.7 3.4-.5 1-1.1 1.8-2 2.4-.9.6-1.9 1.1-3.1 1.4-1.2.3-2.5.5-4 .5h-7.6V11.8zm6.4 11.6c2.7 0 4.7-.4 5.8-1.3 1.2-.9 1.8-2.2 1.8-3.9 0-1.7-.6-2.9-1.9-3.7-1.3-.8-3.1-1.1-5.5-1.1h-4.8v10.1h4.6zm.8 13.3c2.6 0 4.7-.5 6.2-1.5s2.3-2.5 2.3-4.7c0-1.9-.7-3.3-2.2-4.2-1.5-.9-3.6-1.4-6.3-1.4h-5.3v11.8h5.3zm15.9-24.9h1.8v24.8h12.2v1.6h-14V11.8zm18.7 0h6.1c2 0 3.8.3 5.3.9 1.5.6 2.8 1.5 3.7 2.6 1 1.1 1.7 2.5 2.2 4.1.5 1.6.7 3.4.7 5.4s-.2 3.8-.7 5.5c-.5 1.6-1.2 3-2.2 4.2-1 1.2-2.2 2.1-3.7 2.7-1.5.6-3.3.9-5.3.9h-6.2V11.8zm5.9 24.8c1.8 0 3.3-.3 4.6-.9 1.3-.6 2.4-1.4 3.2-2.4s1.4-2.3 1.8-3.7c.4-1.4.6-3 .6-4.7 0-1.7-.2-3.3-.6-4.7-.4-1.4-1-2.6-1.8-3.6s-1.9-1.8-3.2-2.4c-1.3-.6-2.8-.8-4.6-.8h-4.1v23.2h4.1z"/></svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 207 KiB |
@@ -0,0 +1 @@
|
|||||||
|
console.log('WE LOVE TYPO3');
|
||||||
@@ -0,0 +1,104 @@
|
|||||||
|
//
|
||||||
|
// Variables
|
||||||
|
//
|
||||||
|
|
||||||
|
/* ===== Variables =====*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Color system
|
||||||
|
// --------------------------------------------------
|
||||||
|
$white: #ffffff !default;
|
||||||
|
$gray-100: #f8f8f8 !default;
|
||||||
|
$gray-200: #e9e9e9 !default;
|
||||||
|
$gray-300: #dedede !default;
|
||||||
|
$gray-400: #cecece !default;
|
||||||
|
$gray-500: #ababab !default;
|
||||||
|
$gray-600: #6c6c6c !default;
|
||||||
|
$gray-700: #494949 !default;
|
||||||
|
$gray-800: #313131 !default;
|
||||||
|
$gray-900: #212121 !default;
|
||||||
|
$black: #000000 !default;
|
||||||
|
|
||||||
|
$primary: #E89AC5 !default;
|
||||||
|
$secondary: #514553 !default;
|
||||||
|
$tertiary: #758c7f !default;
|
||||||
|
$quaternary: #2d1e2f !default;
|
||||||
|
|
||||||
|
$default: #eaebec !default;
|
||||||
|
$success: #3a833a !default;
|
||||||
|
$info: #287f9a !default;
|
||||||
|
$warning: #a4660e !default;
|
||||||
|
$danger: #d4403a !default;
|
||||||
|
$lighter: $gray-100 !default;
|
||||||
|
$light: $gray-200 !default;
|
||||||
|
$dark: $gray-800 !default;
|
||||||
|
$darker: $gray-900 !default;
|
||||||
|
|
||||||
|
$theme-colors: (
|
||||||
|
'primary': $primary,
|
||||||
|
'secondary': $secondary,
|
||||||
|
'tertiary': $tertiary,
|
||||||
|
'quaternary': $quaternary,
|
||||||
|
'success': $success,
|
||||||
|
'info': $info,
|
||||||
|
'warning': $warning,
|
||||||
|
'danger': $danger,
|
||||||
|
'default': $default,
|
||||||
|
'lighter': $lighter,
|
||||||
|
'light': $light,
|
||||||
|
'dark': $dark,
|
||||||
|
'darker': $darker,
|
||||||
|
) !default;
|
||||||
|
|
||||||
|
$body-bg: $white !default;
|
||||||
|
$body-color: $gray-900 !default;
|
||||||
|
//$body-color: #505050;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Options
|
||||||
|
// --------------------------------------------------
|
||||||
|
$enable-shadows: true !default;
|
||||||
|
$enable-negative-margins: true !default;
|
||||||
|
$enable-responsive-font-sizes: true !default;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Fonts
|
||||||
|
// --------------------------------------------------
|
||||||
|
$font-size-base: 1rem !default;
|
||||||
|
$h1-font-size: $font-size-base * 2 !default;
|
||||||
|
$h2-font-size: $font-size-base * 1.75 !default;
|
||||||
|
$h3-font-size: $font-size-base * 1.5 !default;
|
||||||
|
$h4-font-size: $font-size-base * 1.25 !default;
|
||||||
|
$h5-font-size: $font-size-base * 1 !default;
|
||||||
|
$h6-font-size: $font-size-base * .85 !default;
|
||||||
|
|
||||||
|
$headings-font-weight: 300 !default;
|
||||||
|
|
||||||
|
$display-font-sizes: (
|
||||||
|
1: $h1-font-size * 1.5,
|
||||||
|
2: $h2-font-size * 1.5,
|
||||||
|
3: $h3-font-size * 1.5,
|
||||||
|
4: $h4-font-size * 1.5,
|
||||||
|
5: $h5-font-size * 1.5,
|
||||||
|
6: $h6-font-size * 1.5
|
||||||
|
) !default;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*General Colors*/
|
||||||
|
// $green: #94BA65;
|
||||||
|
// $blue: #2790B0;
|
||||||
|
// $orange: #D26C22;
|
||||||
|
// $red: #E35E54;
|
||||||
|
// $pink: #E89AC5;
|
||||||
@@ -0,0 +1,118 @@
|
|||||||
|
/* ===== Variables =====*/
|
||||||
|
$font-family-sans-serif: 'Roboto', sans-serif;
|
||||||
|
|
||||||
|
|
||||||
|
/* ===== Typography ===== */
|
||||||
|
|
||||||
|
h1,
|
||||||
|
h2,
|
||||||
|
h3,
|
||||||
|
h4,
|
||||||
|
h5,
|
||||||
|
h6,
|
||||||
|
.h1,
|
||||||
|
.h2,
|
||||||
|
.h3,
|
||||||
|
.h4,
|
||||||
|
.h5,
|
||||||
|
.h6 {
|
||||||
|
font-family: 'Oswald', sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ===== global styles ===== */
|
||||||
|
.inline-block {
|
||||||
|
display:inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
body {
|
||||||
|
background-image: url("../../Images/waschbeton-sw.jpg");
|
||||||
|
}
|
||||||
|
|
||||||
|
.maincontent-wrap {
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 4px;
|
||||||
|
padding: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-column {
|
||||||
|
min-height: 60vh;
|
||||||
|
background-color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
#areaFeature {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-header {
|
||||||
|
border-bottom: 0 solid #eeeeee;
|
||||||
|
margin: 40px 0 0 0;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-mainnavigation .navbar-brand {
|
||||||
|
margin: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-mainnavigation .nav-item {
|
||||||
|
padding: 30px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.breadcrumb-section {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.frame-type-subnavigation {
|
||||||
|
background-color: #f5f5f5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-section-content {
|
||||||
|
background: #353432;
|
||||||
|
--frame-color: #ecf0f1;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-section-meta {
|
||||||
|
background: #353432;
|
||||||
|
--frame-color: #ecf0f1;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.bp-page-footer {
|
||||||
|
.gallery-row {
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-mainnavigation .nav-item {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-mainnavigation .nav-link {
|
||||||
|
padding: 30px 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-mainnavigation .nav-link.active {
|
||||||
|
background-color: #e89ac5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-mainnavigation {
|
||||||
|
.dropdown-menu {
|
||||||
|
padding: 10px 0;
|
||||||
|
.nav-link {
|
||||||
|
padding: 10px 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#c147 {
|
||||||
|
margin-left: 60px;
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
//
|
||||||
|
// Variables
|
||||||
|
//
|
||||||
|
@import "variables";
|
||||||
|
|
||||||
|
//
|
||||||
|
// Import needed Bootstrap Package Files
|
||||||
|
//
|
||||||
|
@import "EXT:bootstrap_package/Resources/Public/Scss/bootstrap5/theme";
|
||||||
|
|
||||||
|
|
||||||
|
@import "layout";
|
||||||
21
packages/coo_site_package/composer.json
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"name": "gaengeviertel-ev/coo-site-package",
|
||||||
|
"type": "typo3-cms-extension",
|
||||||
|
"description": "",
|
||||||
|
"homepage": "https://city-of-oz.hamburg",
|
||||||
|
"license": ["GPL-2.0-or-later"],
|
||||||
|
"keywords": ["TYPO3 CMS"],
|
||||||
|
"require": {
|
||||||
|
"bk2k/bootstrap-package": "^15.0"
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"GaengeviertelEv\\CooSitePackage\\": "Classes/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"extra": {
|
||||||
|
"typo3/cms": {
|
||||||
|
"extension-key": "coo_site_package"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
27
packages/coo_site_package/ext_emconf.php
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$EM_CONF[$_EXTKEY] = [
|
||||||
|
'title' => 'coo-site-package',
|
||||||
|
'description' => '',
|
||||||
|
'category' => 'templates',
|
||||||
|
'constraints' => [
|
||||||
|
'depends' => [
|
||||||
|
'bootstrap_package' => '15.0.0-15.99.99',
|
||||||
|
],
|
||||||
|
'conflicts' => [
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'autoload' => [
|
||||||
|
'psr-4' => [
|
||||||
|
'GaengeviertelEv\\CooSitePackage\\' => 'Classes',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'state' => 'stable',
|
||||||
|
'uploadfolder' => 0,
|
||||||
|
'createDirs' => '',
|
||||||
|
'clearCacheOnLoad' => 1,
|
||||||
|
'author' => 'City-of-OZ Team',
|
||||||
|
'author_email' => 'info@city-of-oz.hamburg',
|
||||||
|
'author_company' => 'Gängeviertel e.V.',
|
||||||
|
'version' => '1.0.0',
|
||||||
|
];
|
||||||
6
packages/coo_site_package/ext_localconf.php
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
defined('TYPO3') or die('Access denied.');
|
||||||
|
|
||||||
|
// Add default RTE configuration
|
||||||
|
$GLOBALS['TYPO3_CONF_VARS']['RTE']['Presets']['coo_site_package'] = 'EXT:coo_site_package/Configuration/RTE/Default.yaml';
|
||||||
3
packages/coo_site_package/ext_tables.php
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
defined('TYPO3') or die('Access denied.');
|
||||||
393
public/.htaccess
Normal file
@@ -0,0 +1,393 @@
|
|||||||
|
#####
|
||||||
|
#
|
||||||
|
# Example .htaccess file for TYPO3 CMS - for use with Apache Webserver
|
||||||
|
#
|
||||||
|
# This file includes settings for the following configuration options:
|
||||||
|
#
|
||||||
|
# - Compression
|
||||||
|
# - Caching
|
||||||
|
# - MIME types
|
||||||
|
# - Cross Origin requests
|
||||||
|
# - Rewriting and Access
|
||||||
|
# - Miscellaneous
|
||||||
|
# - PHP optimisation
|
||||||
|
#
|
||||||
|
# If you want to use it, you have to copy it to the root folder of your TYPO3 installation (if its
|
||||||
|
# not there already) and rename it to '.htaccess'. To make .htaccess files work, you might need to
|
||||||
|
# adjust the 'AllowOverride' directive in your Apache configuration file.
|
||||||
|
#
|
||||||
|
# IMPORTANT: You may need to change this file depending on your TYPO3 installation!
|
||||||
|
# Consider adding this file's content to your webserver's configuration directly for speed improvement
|
||||||
|
#
|
||||||
|
# Lots of the options are taken from https://github.com/h5bp/html5-boilerplate/blob/master/dist/.htaccess
|
||||||
|
#
|
||||||
|
####
|
||||||
|
|
||||||
|
|
||||||
|
### Begin: Compression ###
|
||||||
|
|
||||||
|
# Compressing resource files will save bandwidth and so improve loading speed especially for users
|
||||||
|
# with slower internet connections. TYPO3 can compress the .js and .css files for you.
|
||||||
|
# *) Uncomment the following lines and
|
||||||
|
# *) Set $GLOBALS['TYPO3_CONF_VARS']['BE']['compressionLevel'] = 9 for the Backend
|
||||||
|
# *) Set $GLOBALS['TYPO3_CONF_VARS']['FE']['compressionLevel'] = 9 together with the TypoScript properties
|
||||||
|
# config.compressJs and config.compressCss for GZIP compression of Frontend JS and CSS files.
|
||||||
|
|
||||||
|
#<FilesMatch "\.js\.gz">
|
||||||
|
# AddType "text/javascript" .gz
|
||||||
|
#</FilesMatch>
|
||||||
|
#<FilesMatch "\.css\.gz">
|
||||||
|
# AddType "text/css" .gz
|
||||||
|
#</FilesMatch>
|
||||||
|
#AddEncoding x-gzip .gz
|
||||||
|
|
||||||
|
<IfModule mod_deflate.c>
|
||||||
|
# Force compression for mangled `Accept-Encoding` request headers
|
||||||
|
<IfModule mod_setenvif.c>
|
||||||
|
<IfModule mod_headers.c>
|
||||||
|
SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
|
||||||
|
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
|
||||||
|
</IfModule>
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
# Compress all output labeled with one of the following media types.
|
||||||
|
#
|
||||||
|
# (!) For Apache versions below version 2.3.7 you don't need to
|
||||||
|
# enable `mod_filter` and can remove the `<IfModule mod_filter.c>`
|
||||||
|
# and `</IfModule>` lines as `AddOutputFilterByType` is still in
|
||||||
|
# the core directives.
|
||||||
|
#
|
||||||
|
# https://httpd.apache.org/docs/current/mod/mod_filter.html#addoutputfilterbytype
|
||||||
|
|
||||||
|
<IfModule mod_filter.c>
|
||||||
|
AddOutputFilterByType DEFLATE application/atom+xml \
|
||||||
|
application/javascript \
|
||||||
|
application/json \
|
||||||
|
application/ld+json \
|
||||||
|
application/manifest+json \
|
||||||
|
application/rdf+xml \
|
||||||
|
application/rss+xml \
|
||||||
|
application/schema+json \
|
||||||
|
application/vnd.geo+json \
|
||||||
|
application/geo+json \
|
||||||
|
application/vnd.ms-fontobject \
|
||||||
|
application/x-font-ttf \
|
||||||
|
application/x-javascript \
|
||||||
|
application/x-web-app-manifest+json \
|
||||||
|
application/xhtml+xml \
|
||||||
|
application/xml \
|
||||||
|
font/eot \
|
||||||
|
font/opentype \
|
||||||
|
font/otf \
|
||||||
|
font/ttf \
|
||||||
|
image/bmp \
|
||||||
|
image/svg+xml \
|
||||||
|
image/vnd.microsoft.icon \
|
||||||
|
image/x-icon \
|
||||||
|
text/cache-manifest \
|
||||||
|
text/css \
|
||||||
|
text/html \
|
||||||
|
text/javascript \
|
||||||
|
text/plain \
|
||||||
|
text/vcard \
|
||||||
|
text/vnd.rim.location.xloc \
|
||||||
|
text/vtt \
|
||||||
|
text/x-component \
|
||||||
|
text/x-cross-domain-policy \
|
||||||
|
text/xml
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
<IfModule mod_mime.c>
|
||||||
|
AddEncoding gzip svgz
|
||||||
|
</IfModule>
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
### End: Compression ###
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Begin: Browser caching of resource files ###
|
||||||
|
|
||||||
|
# This affects Frontend and Backend and increases performance.
|
||||||
|
<IfModule mod_expires.c>
|
||||||
|
|
||||||
|
ExpiresActive On
|
||||||
|
ExpiresDefault "access plus 1 month"
|
||||||
|
|
||||||
|
ExpiresByType text/css "access plus 1 year"
|
||||||
|
|
||||||
|
ExpiresByType application/json "access plus 0 seconds"
|
||||||
|
ExpiresByType application/ld+json "access plus 0 seconds"
|
||||||
|
ExpiresByType application/schema+json "access plus 0 seconds"
|
||||||
|
ExpiresByType application/vnd.geo+json "access plus 0 seconds"
|
||||||
|
ExpiresByType application/geo+json "access plus 0 seconds"
|
||||||
|
ExpiresByType application/xml "access plus 0 seconds"
|
||||||
|
ExpiresByType text/xml "access plus 0 seconds"
|
||||||
|
|
||||||
|
ExpiresByType image/vnd.microsoft.icon "access plus 1 week"
|
||||||
|
ExpiresByType image/x-icon "access plus 1 week"
|
||||||
|
|
||||||
|
ExpiresByType text/x-component "access plus 1 month"
|
||||||
|
|
||||||
|
ExpiresByType text/html "access plus 0 seconds"
|
||||||
|
|
||||||
|
ExpiresByType application/javascript "access plus 1 year"
|
||||||
|
ExpiresByType application/x-javascript "access plus 1 year"
|
||||||
|
ExpiresByType text/javascript "access plus 1 year"
|
||||||
|
|
||||||
|
ExpiresByType application/manifest+json "access plus 1 week"
|
||||||
|
ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds"
|
||||||
|
ExpiresByType text/cache-manifest "access plus 0 seconds"
|
||||||
|
|
||||||
|
ExpiresByType audio/ogg "access plus 1 month"
|
||||||
|
ExpiresByType image/apng "access plus 1 month"
|
||||||
|
ExpiresByType image/avif "access plus 1 month"
|
||||||
|
ExpiresByType image/avif-sequence "access plus 1 month"
|
||||||
|
ExpiresByType image/bmp "access plus 1 month"
|
||||||
|
ExpiresByType image/gif "access plus 1 month"
|
||||||
|
ExpiresByType image/jpeg "access plus 1 month"
|
||||||
|
ExpiresByType image/jxl "access plus 1 month"
|
||||||
|
ExpiresByType image/png "access plus 1 month"
|
||||||
|
ExpiresByType image/svg+xml "access plus 1 month"
|
||||||
|
ExpiresByType image/webp "access plus 1 month"
|
||||||
|
ExpiresByType video/mp4 "access plus 1 month"
|
||||||
|
ExpiresByType video/ogg "access plus 1 month"
|
||||||
|
ExpiresByType video/webm "access plus 1 month"
|
||||||
|
|
||||||
|
ExpiresByType application/atom+xml "access plus 1 hour"
|
||||||
|
ExpiresByType application/rdf+xml "access plus 1 hour"
|
||||||
|
ExpiresByType application/rss+xml "access plus 1 hour"
|
||||||
|
|
||||||
|
ExpiresByType font/collection "access plus 1 month"
|
||||||
|
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
|
||||||
|
ExpiresByType font/eot "access plus 1 month"
|
||||||
|
ExpiresByType font/opentype "access plus 1 month"
|
||||||
|
ExpiresByType font/otf "access plus 1 month"
|
||||||
|
ExpiresByType application/x-font-ttf "access plus 1 month"
|
||||||
|
ExpiresByType font/ttf "access plus 1 month"
|
||||||
|
ExpiresByType application/font-woff "access plus 1 month"
|
||||||
|
ExpiresByType application/x-font-woff "access plus 1 month"
|
||||||
|
ExpiresByType font/woff "access plus 1 month"
|
||||||
|
ExpiresByType application/font-woff2 "access plus 1 month"
|
||||||
|
ExpiresByType font/woff2 "access plus 1 month"
|
||||||
|
|
||||||
|
ExpiresByType text/x-cross-domain-policy "access plus 1 week"
|
||||||
|
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
### End: Browser caching of resource files ###
|
||||||
|
|
||||||
|
|
||||||
|
### Begin: MIME types ###
|
||||||
|
|
||||||
|
# Proper MIME types for all files
|
||||||
|
<IfModule mod_mime.c>
|
||||||
|
# Security configuration
|
||||||
|
RemoveType .html .htm
|
||||||
|
<FilesMatch ".+\.html?$">
|
||||||
|
AddType text/html .html .htm
|
||||||
|
</FilesMatch>
|
||||||
|
|
||||||
|
RemoveType .svg .svgz
|
||||||
|
<FilesMatch ".+\.svgz?$">
|
||||||
|
AddType image/svg+xml .svg .svgz
|
||||||
|
</FilesMatch>
|
||||||
|
|
||||||
|
# Data interchange
|
||||||
|
AddType application/atom+xml atom
|
||||||
|
AddType application/json json map topojson
|
||||||
|
AddType application/ld+json jsonld
|
||||||
|
AddType application/rss+xml rss
|
||||||
|
AddType application/vnd.geo+json geojson
|
||||||
|
AddType application/xml rdf xml
|
||||||
|
|
||||||
|
# JavaScript
|
||||||
|
AddType application/javascript js mjs
|
||||||
|
|
||||||
|
# Manifest files
|
||||||
|
AddType application/manifest+json webmanifest
|
||||||
|
AddType application/x-web-app-manifest+json webapp
|
||||||
|
AddType text/cache-manifest appcache
|
||||||
|
|
||||||
|
# Media files
|
||||||
|
|
||||||
|
AddType audio/mp4 f4a f4b m4a
|
||||||
|
AddType audio/ogg oga ogg opus
|
||||||
|
AddType image/avif avif
|
||||||
|
AddType image/avif-sequence avifs
|
||||||
|
AddType image/bmp bmp
|
||||||
|
AddType image/jxl jxl
|
||||||
|
AddType image/webp webp
|
||||||
|
AddType video/mp4 f4v f4p m4v mp4
|
||||||
|
AddType video/ogg ogv
|
||||||
|
AddType video/webm webm
|
||||||
|
AddType video/x-flv flv
|
||||||
|
AddType image/x-icon cur ico
|
||||||
|
|
||||||
|
# Web fonts
|
||||||
|
AddType font/woff woff
|
||||||
|
AddType font/woff2 woff2
|
||||||
|
AddType application/vnd.ms-fontobject eot
|
||||||
|
AddType font/ttf ttc ttf
|
||||||
|
AddType font/otf otf
|
||||||
|
|
||||||
|
# Other
|
||||||
|
AddType application/octet-stream safariextz
|
||||||
|
AddType application/x-bb-appworld bbaw
|
||||||
|
AddType application/x-chrome-extension crx
|
||||||
|
AddType application/x-opera-extension oex
|
||||||
|
AddType application/x-xpinstall xpi
|
||||||
|
AddType text/vcard vcard vcf
|
||||||
|
AddType text/vnd.rim.location.xloc xloc
|
||||||
|
AddType text/vtt vtt
|
||||||
|
AddType text/x-component htc
|
||||||
|
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
# UTF-8 encoding
|
||||||
|
AddDefaultCharset utf-8
|
||||||
|
<IfModule mod_mime.c>
|
||||||
|
AddCharset utf-8 .atom .css .js .json .manifest .rdf .rss .vtt .webapp .webmanifest .xml
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
### End: MIME types ###
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Begin: Cross Origin ###
|
||||||
|
|
||||||
|
# Send the CORS header for images when browsers request it.
|
||||||
|
<IfModule mod_setenvif.c>
|
||||||
|
<IfModule mod_headers.c>
|
||||||
|
<FilesMatch "\.(avifs?|bmp|cur|gif|ico|jpe?g|png|svgz?|webp)$">
|
||||||
|
SetEnvIf Origin ":" IS_CORS
|
||||||
|
Header set Access-Control-Allow-Origin "*" env=IS_CORS
|
||||||
|
</FilesMatch>
|
||||||
|
</IfModule>
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
# Allow cross-origin access to web fonts.
|
||||||
|
<IfModule mod_headers.c>
|
||||||
|
<FilesMatch "\.(eot|otf|tt[cf]|woff2?)$">
|
||||||
|
Header set Access-Control-Allow-Origin "*"
|
||||||
|
</FilesMatch>
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
### End: Cross Origin ###
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Begin: Rewriting and Access ###
|
||||||
|
|
||||||
|
<IfModule mod_rewrite.c>
|
||||||
|
|
||||||
|
# Enable URL rewriting
|
||||||
|
RewriteEngine On
|
||||||
|
|
||||||
|
# Store the current location in an environment variable CWD to use
|
||||||
|
# mod_rewrite in .htaccess files without knowing the RewriteBase
|
||||||
|
RewriteCond $0#%{REQUEST_URI} ([^#]*)#(.*)\1$
|
||||||
|
RewriteRule ^.*$ - [E=CWD:%2]
|
||||||
|
|
||||||
|
# Rules to set ApplicationContext based on hostname
|
||||||
|
#RewriteCond %{HTTP_HOST} ^dev\.example\.com$
|
||||||
|
#RewriteRule .? - [E=TYPO3_CONTEXT:Development]
|
||||||
|
#RewriteCond %{HTTP_HOST} ^staging\.example\.com$
|
||||||
|
#RewriteRule .? - [E=TYPO3_CONTEXT:Production/Staging]
|
||||||
|
#RewriteCond %{HTTP_HOST} ^www\.example\.com$
|
||||||
|
#RewriteRule .? - [E=TYPO3_CONTEXT:Production]
|
||||||
|
|
||||||
|
# Rule for versioned static files, configured through:
|
||||||
|
# - $GLOBALS['TYPO3_CONF_VARS']['BE']['versionNumberInFilename']
|
||||||
|
# - $GLOBALS['TYPO3_CONF_VARS']['FE']['versionNumberInFilename']
|
||||||
|
# IMPORTANT: This rule has to be the very first RewriteCond in order to work!
|
||||||
|
RewriteCond %{REQUEST_FILENAME} !-f
|
||||||
|
RewriteCond %{REQUEST_FILENAME} !-d
|
||||||
|
RewriteRule ^(.+)\.(\d+)\.(php|js|css|png|jpg|gif|gz)$ %{ENV:CWD}$1.$3 [L]
|
||||||
|
|
||||||
|
# Access block for folders
|
||||||
|
RewriteRule _(?:recycler|temp)_/ - [F]
|
||||||
|
RewriteRule fileadmin/templates/.*\.(?:txt|ts)$ - [F]
|
||||||
|
RewriteRule ^(?:vendor|typo3_src|typo3temp/var) - [F]
|
||||||
|
RewriteRule (?:typo3conf/ext|typo3/sysext|typo3/ext)/[^/]+/(?:Configuration|Resources/Private|Tests?|Documentation|docs?)/ - [F]
|
||||||
|
|
||||||
|
# Block access to all hidden files and directories with the exception of
|
||||||
|
# the visible content from within the `/.well-known/` hidden directory (RFC 5785).
|
||||||
|
RewriteCond %{REQUEST_URI} "!(^|/)\.well-known/([^./]+./?)+$" [NC]
|
||||||
|
RewriteCond %{SCRIPT_FILENAME} -d [OR]
|
||||||
|
RewriteCond %{SCRIPT_FILENAME} -f
|
||||||
|
RewriteRule (?:^|/)\. - [F]
|
||||||
|
|
||||||
|
# Stop rewrite processing, if we are in any known directory
|
||||||
|
# NOTE: Add your additional local storages here
|
||||||
|
RewriteRule ^(?:fileadmin/|typo3conf/|typo3temp/|uploads/) - [L]
|
||||||
|
|
||||||
|
# If the file/symlink/directory does not exist but is below /typo3/, redirect to the main TYPO3 entry point.
|
||||||
|
RewriteCond %{REQUEST_FILENAME} !-f
|
||||||
|
RewriteRule ^typo3/(.*)$ %{ENV:CWD}index.php [QSA,L]
|
||||||
|
|
||||||
|
# If the file/symlink/directory does not exist => Redirect to index.php.
|
||||||
|
# For httpd.conf, you need to prefix each '%{REQUEST_FILENAME}' with '%{DOCUMENT_ROOT}'.
|
||||||
|
RewriteCond %{REQUEST_FILENAME} !-f
|
||||||
|
RewriteCond %{REQUEST_FILENAME} !-d
|
||||||
|
RewriteCond %{REQUEST_FILENAME} !-l
|
||||||
|
RewriteRule ^.*$ %{ENV:CWD}index.php [QSA,L]
|
||||||
|
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
# Access block for files
|
||||||
|
# Apache < 2.3
|
||||||
|
<IfModule !mod_authz_core.c>
|
||||||
|
<FilesMatch "(?i:^\.|^#.*#|^(?:ChangeLog|ToDo|Readme|License)(?:\.md|\.txt)?|^composer\.(?:json|lock)|^ext_conf_template\.txt|^ext_typoscript_constants\.txt|^ext_typoscript_setup\.txt|flexform[^.]*\.xml|locallang[^.]*\.(?:xml|xlf)|\.(?:bak|co?nf|cfg|neon|ya?ml|ts|typoscript|tsconfig|dist|fla|in[ci]|log|sh|sql(?:\..*)?|sqlite(?:\..*)?|sw[op]|git.*|rc)|.*~)$">
|
||||||
|
Order allow,deny
|
||||||
|
Deny from all
|
||||||
|
Satisfy All
|
||||||
|
</FilesMatch>
|
||||||
|
</IfModule>
|
||||||
|
# Apache ≥ 2.3
|
||||||
|
<IfModule mod_authz_core.c>
|
||||||
|
<If "%{REQUEST_URI} =~ m#(?i:/\.|/\x23.*\x23|/(?:ChangeLog|ToDo|Readme|License)(?:\.md|\.txt)?|/composer\.(?:json|lock)|/ext_conf_template\.txt|/ext_typoscript_constants\.txt|/ext_typoscript_setup\.txt|flexform[^.]*\.xml|locallang[^.]*\.(?:xml|xlf)|\.(?:bak|co?nf|cfg|neon|ya?ml|ts|typoscript|tsconfig|dist|fla|in[ci]|log|sh|sql(?:\..*)?|sqlite(?:\..*)?|sw[op]|git.*|rc)|.*~)$#">
|
||||||
|
Require all denied
|
||||||
|
</If>
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
# Block access to vcs directories
|
||||||
|
<IfModule mod_alias.c>
|
||||||
|
RedirectMatch 404 /\.(?:git|svn|hg)/
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
### End: Rewriting and Access ###
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Begin: Miscellaneous ###
|
||||||
|
|
||||||
|
# 404 error prevention for non-existing redirected folders
|
||||||
|
Options -MultiViews
|
||||||
|
|
||||||
|
# Make sure that directory listings are disabled.
|
||||||
|
<IfModule mod_autoindex.c>
|
||||||
|
Options -Indexes
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
<IfModule mod_headers.c>
|
||||||
|
# Force IE to render pages in the highest available mode
|
||||||
|
Header set X-UA-Compatible "IE=edge"
|
||||||
|
<FilesMatch "\.(appcache|avifs?|crx|css|eot|gif|htc|ico|jpe?g|js|m4a|m4v|manifest|mp4|oex|oga|ogg|ogv|otf|pdf|png|safariextz|svgz?|ttf|vcf|webapp|webm|webp|woff2?|xml|xpi)$">
|
||||||
|
Header unset X-UA-Compatible
|
||||||
|
</FilesMatch>
|
||||||
|
|
||||||
|
# Reducing MIME type security risks
|
||||||
|
Header set X-Content-Type-Options "nosniff"
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
# ETag removal
|
||||||
|
<IfModule mod_headers.c>
|
||||||
|
Header unset ETag
|
||||||
|
</IfModule>
|
||||||
|
FileETag None
|
||||||
|
|
||||||
|
### End: Miscellaneous ###
|
||||||
|
|
||||||
|
|
||||||
|
# Add your own rules here.
|
||||||