LiveTemplates

With LiveTemplates you can have a look into selected source files of mine. These files are read in real time and run this neos instance. So they are always up to date and functional. They should help you to look something up if you have any questions.
 

{
"description": "",
"type": "neos-site",
"require": {
"neos/neos": "*",
"neos/nodetypes": "*"
},
"suggest": {
"neos/seo": "*"
},
"name": "arsors/neos",
"autoload": {
"psr-4": {
"Arsors\\Neos\\": "Classes/"
}
},
"extra": {
"neos": {
"package-key": "Arsors.Neos"
}
}
}

privilegeTargets:
'Neos\ContentRepository\Security\Authorization\Privilege\Node\ReadNodePrivilege':
'Arsors.Neos:ProtectedPage':
matcher: 'nodeIsOfType("Arsors.Neos:ProtectedPage")'

'Neos\Flow\Security\Authorization\Privilege\Method\MethodPrivilege':
'Arsors.Neos.ExampleRouteController:PublicActions':
matcher: 'method(public Arsors\Neos\Controller\ExampleRouteController->(.*)Action())'
'Arsors.Neos:ExamplePlugin':
matcher: 'method(Arsors\Neos\Controller\ExamplePluginController->(.*)Action())'

roles:
'Neos.Flow:Everybody':
privileges:
-
privilegeTarget: 'Arsors.Neos.ExampleRouteController:PublicActions'
permission: GRANT
-
privilegeTarget: 'Arsors.Neos:ExamplePlugin'
permission: GRANT

'Neos.Neos:Administrator':
privileges:
-
privilegeTarget: 'Arsors.Neos:ProtectedPage'
permission: GRANT

-
name: 'Custom Route Example'
uriPattern: 'exampleRoute'
defaults:
'@package': 'Arsors.Neos'
'@controller': 'ExampleRoute'
'@action': 'simplePHP'
'@format': 'html'
-
name: 'pagination page'
uriPattern: '{node}/page/{currentPage}'
defaults:
'@package': 'Neos.Neos'
'@controller': 'Frontend\Node'
'@format': 'html'
'@action': 'show'
routeParts:
node:
handler: Neos\Neos\Routing\FrontendNodeRoutePartHandlerInterface
appendExceedingArguments: TRUE

Neos:
Neos:
userInterface:
backendLoginForm:
stylesheets:
'Neos.Neos:DefaultStyles': FALSE
'Arsors.Neos:CustomStyles': 'resource://Arsors.Neos/Public/Styles/Login.css'

Fusion:
defaultContext:
'EelHelper': 'Arsors\Neos\EelHelper\ExampleEelHelper'
'arsors': 'Arsors\Neos\EelHelper\ArsorsEelHelper'

Flow:
mvc:
routes:
'Arsors.Neos':
position: 'before Neos.Neos'

ContentRepository:
contentDimensions:
language:
label: Languages
icon: icon-language
default: en_US
defaultPreset: en_US
presets:
all: null
de:
label: 'Deutsch'
values:
- de
uriSegment: de
en_US:
label: 'English'
values:
- en_US
uriSegment: en

-
requestFilter: 'isPackage("Arsors.Neos") && isController("ExamplePlugin") && isAction("index")'
options:
templatePathAndFilename: 'resource://Arsors.Neos/Private/Templates/NodeTypes/ExamplePlugin.html'
-
requestFilter: 'isPackage("Neos.ContentRepository") && isSubPackage("ViewHelpers\Widget") && isController("Paginate") && isAction("index")'
options:
templatePathAndFilename: 'resource://Arsors.Neos/Private/Templates/NodeTypes/Paginate.html'

/**
* Root Fusion for the NeosTestarea site
*/

prototype(Arsors.Neos:DefaultPage) < prototype(Neos.Neos:Page) {

head {
stylesheets.site = Neos.Fusion:Template {
templatePath = 'resource://Arsors.Neos/Private/Templates/Page/Default.html'
sectionName = 'stylesheets'
}

javascripts.site = Neos.Fusion:Template {
templatePath = 'resource://Arsors.Neos/Private/Templates/Page/Default.html'
sectionName = 'headScripts'
}
}

body {
templatePath = 'resource://Arsors.Neos/Private/Templates/Page/Default.html'
sectionName = 'body'

ExampleEelHelper = ${ EelHelper.example(["Last cache from "," at ", " (Example Eel Helper)"]) }

parts {
menu = Arsors.Neos:HeaderMenu

footer = Neos.Neos:ContentCollection {
nodePath = ${q(site).find('footer').property('_path')}
collection = ${q(site).children('footer').children()}
}
}

javascripts.site = Neos.Fusion:Template {
templatePath = 'resource://Arsors.Neos/Private/Templates/Page/Default.html'
sectionName = 'bodyScripts'
}

}
}

include: NodeTypes/**/*

prototype(Arsors.Neos:ProtectedPage) < prototype(Arsors.Neos:Page)

<!DOCTYPE html>
{namespace neos=Neos\Neos\ViewHelpers}
{namespace fusion=Neos\Fusion\ViewHelpers}
<html>
<head>
<f:section name="stylesheets">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#343a40">

<link rel="apple-touch-icon" sizes="57x57" href="/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">

<!-- Put your stylesheet inclusions here, they will be included in your website by Fusion -->
<link rel="stylesheet" href="../../Public/Styles/bootstrap.min.css" />
<style>
body {
background-color: #343a40 !important;
color: #fff;
}
/*
Templating
*/
.navbar-dark .navbar-nav .current>.nav-link, .navbar-dark .navbar-nav .nav-link.current, .navbar-dark .navbar-nav .nav-link.show, .navbar-dark .navbar-nav .show>.nav-link {
color: #fff !important;
}
.dropdown-item.current, .dropdown-item:active {
color: #fff;
text-decoration: none;
background-color: #007bff;
}
.navbar {
padding: .5rem 0 !important;
}
@media (min-width: 992px) {
.navbar-expand-lg .navbar-nav .nav-text {
padding: .5rem;
}
}
.card-header h2 {
overflow: auto hidden;
}
.card {
color: #343a40;
}
.card-header button div {
position: relative;
top: -3px;
}
.hljs {
padding: 2em !important;
}
pre {
position: relative;
}
pre.disabled::before {
content: "This file is generated automatically";
background: #007bff;
color: #fff;
text-align: center;
padding: 30px;
display: block;
position: relative;
z-index: 10;
}
pre.disabled::after {
content: "";
background: rgba(255,255,255,0.5);
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
}
.liveTemplate {
position: absolute;
right: 3px;
top: 3px;
}
.footer {
text-align: center;
color: rgba(255,255,255,.5);
}
.footer a {
color: rgba(255,255,255,.5);
padding: 10px;
display: inline-block;
}
.footer a:hover {
color: rgba(255,255,255,1);
text-decoration: none;
}
.badge {
white-space: normal !important;
}
/*
Colors
*/
.f-black {
color: #151719;
}
</style>
</f:section>
<f:section name="headScripts">
<!-- Put your scripts inclusions for the head here, they will be included in your website by Fusion -->
</f:section>
</head>
<body>
<f:section name="body">
<nav class="menu container">
<div class="row">
<div class="col-12">
{parts.menu -> f:format.raw()}
</div>
</div>
</nav>
<div class="content container">
{content.main -> f:format.raw()}

<f:comment>
If you enabled the "sidebar" content area in your NodeType configuration and Fusion, you can uncomment this
section to actually render in in your output. Remove the "f:comment" tag and this text, and adjust the markup as you
like.

{content.sidebar -> f:format.raw()}
</f:comment>
{ExampleEelHelper -> f:format.raw()}
{parts.footer -> f:format.raw()}
</div>
</f:section>
<f:section name="bodyScripts">
<!-- Put your scripts inclusions for the end of the body here, they will be included in your website by Fusion -->
<script src="../../Public/JavaScript/jquery.slim.min.js"></script>
<script src="../../Public/JavaScript/popper.min.js"></script>
<script src="../../Public/JavaScript/bootstrap.min.js"></script>
<link rel="stylesheet" href="../../Public/JavaScript/highlight/styles/androidstudio.css">
<script src="../../Public/JavaScript/highlight/highlight.pack.js"></script>
<f:if condition="{neos:rendering.inBackend()}">
<f:then>
<script>hljs.initHighlightingOnLoad();</script>
</f:then>
<f:else>
<script>
hljs.configure({ 'useBR': true });
hljs.initHighlightingOnLoad();

$(function () {
$('[data-toggle="popover"]').popover()
})
</script>
</f:else>
</f:if>
</f:section>
</body>
</html>
Last cache from 2021-05-13 at 21:27:25 (Example Eel Helper)