You have successfully created your Nette Framework project.
Explore
source
codes
See source code of this page template, layout template and corresponding presenter. And feel free to modify them!
Manage
database
tables
Manage your database using pre-installed tool Adminer with an easy to use GUI.
Read
Quick-start
tutorial
If you are exploring Nette Framework for the first time, you should read the Quick Start, documentation, tutorials and forum.
We hope you enjoy this framework!
This page template located at app/FrontModule/presenters/templates/Homepage/default.latte
{* This is the welcome page, you can delete it *}
{block content}
<div id="banner">
<h1 n:block=title>Congratulations!</h1>
</div>
<div id="content">
<h2>You have successfully created your Nette Framework project.</h2>
<div class="boxes">
<div>
<h2>
<img src="data:image/png;base64,…=="
alt="">Explore<br> source<br> codes</h2>
<p>See source code of <a href="#template">this page template</a>, <a href="#layout">layout template</a>
and
<a href="#presenter">corresponding presenter</a>. And feel free to modify them!</p>
</div>
<div>
<h2><a href="{$basePath}/adminer/"><img
src="data:image/png;base64,…=="
alt="">Manage<br> database<br> tables</a></h2>
<p>Manage your database using pre-installed <a href="{$basePath}/adminer/">tool Adminer</a> with an easy
to use GUI.
<p>
</div>
<div>
<h2><a href="https://doc.nette.org/quickstart"><img
src="data:image/png;base64,…="
alt="">Read<br> Quick-start<br> tutorial</a></h2>
<p>If you are exploring Nette Framework for the first time, you should read the
<a href="https://doc.nette.org/quickstart">Quick Start</a>, <a href="https://doc.nette.org">documentation</a>,
<a href="https://pla.nette.org">tutorials</a> and <a href="https://forum.nette.org">forum</a>.</p>
</div>
</div>
<h2>We hope you enjoy this framework!</h2>
<section id="template">
<h2>This page template located at <span>{strstr($this->getName(), app)}</span></h2>
<pre><code class="jush">{file_get_contents($this->getName())|replaceRe,'#[\w+/]{60,}#','…'}</code></pre>
</section>
<section id="layout">
<h2>Layout template located at <span>{strstr($this->getParentName(), app)}</span></h2>
<pre><code class="jush">{file_get_contents($this->getParentName())}</code></pre>
</section>
<section id="presenter">
<h2>Current presenter located at <span>{strstr($presenter->getReflection()->getFileName(), app)}</span></h2>
<pre><code class="jush-php">{file_get_contents($presenter->getReflection()->getFileName())}</code></pre>
</section>
</div>
{/block}
{block scripts}
{include parent}
<script src="https://files.nette.org/sandbox/jush.js"></script>
<script>
jush.create_links = false;
jush.highlight_tag('code');
$('code.jush').each(function () {
$(this).html($(this).html().replace(/\x7B[/$\w].*?\}/g, '<span class="jush-latte">$&</span>'))
});
$('a[href^="#"]').click(function () {
$('html,body').animate({ scrollTop: $($(this).attr('href')).show().offset().top - 5 }, 'fast');
return false;
});
</script>
{/block}
{block head}
<style>
html {
overflow-y: scroll;
}
body {
font: 14px/1.65 Verdana, "Geneva CE", lucida, sans-serif;
background: #3484d2;
color: #333;
margin-top: 40px;
}
.container {
max-width: 940px;
}
h1, h2 {
font: normal 150%/1.3 Georgia, "New York CE", utopia, serif;
color: #1e5eb6;
-webkit-text-stroke: 1px rgba(0, 0, 0, 0);
}
img {
border: none;
}
a {
color: #006aeb;
padding: 3px 1px;
}
a:hover, a:active, a:focus {
background-color: #006aeb;
text-decoration: none;
color: white;
}
#banner {
border-radius: 12px 12px 0 0;
background-image: url(data:image/png;base64,…);
}
#banner h1 {
color: white;
font-size: 50px;
line-height: 121px;
margin: 0;
padding-left: 4%;
background: url(data:image/png;base64,…==) no-repeat 95%;
text-shadow: 1px 1px 0 rgba(0, 0, 0, .9);
}
@media (max-width: 600px) {
#banner h1 {
background: none;
}
}
#content {
background: white;
border: 1px solid #eff4f7;
border-radius: 0 0 12px 12px;
padding: 10px 4%;
overflow: hidden;
}
#content > h2 {
font-size: 130%;
color: #666;
clear: both;
padding: 1.2em 0;
margin: 0;
}
h2 span {
color: #87A7D5;
}
h2 a {
text-decoration: none;
background: transparent;
}
.boxes {
-webkit-justify-content: space-between;
justify-content: space-between;
display: -webkit-flex;
display: flex;
margin-right: -2em;
}
.boxes > div {
background: #f0f0f0;
border: 1px solid #e6e6e6;
border-radius: 5px;
-webkit-flex: 1;
flex: 1;
margin-right: 2em;
}
.boxes h2 {
text-align: right;
margin: 1em;
}
.boxes img {
float: left;
}
.boxes p {
clear: both;
margin: 1em;
}
.boxes p a {
color: #006aeb;
background: #f7f7f7;
padding: 1px 3px;
border-radius: 3px;
text-decoration: none;
box-shadow: 0 2px 5px rgba(0, 0, 0, .10);
}
.boxes p a:hover, .boxes p a:active, .boxes p a:focus {
color: white;
background-color: #006aeb;
}
.boxes > div:nth-child(3n - 2) h2 {
color: #00a6e5;
}
.boxes > div:nth-child(3n - 2) img {
margin: -1em -1em 0 -1em;
}
.boxes > div:nth-child(3n - 1) h2 a {
color: #db8e34;
background: transparent;
}
.boxes > div:nth-child(3n) h2 a {
color: #578404;
background: transparent;
}
@media (max-width: 760px) {
.boxes {
-webkit-flex-direction: column;
flex-direction: column;
}
.boxes > div {
margin-bottom: 1em;
flex-basis: auto;
}
.boxes h2 br {
display: none;
}
}
section {
display: none;
}
pre {
font-size: 12px;
line-height: 1.4;
padding: 10px;
margin: 1.3em 0;
overflow: auto;
max-height: 500px;
background: #F1F5FB;
border-radius: 5px;
box-shadow: 0 1px 1px rgba(0, 0, 0, .1);
}
.jush-com, .jush-php_doc {
color: #929292;
}
.jush-tag, .jush-tag_js {
color: #6A8527;
font-weight: bold;
}
.jush-att {
color: #8CA315
}
.jush-att_quo {
color: #448CCB;
font-weight: bold;
}
.jush-php_var {
color: #d59401;
font-weight: bold;
}
.jush-php_apo {
color: green;
}
.jush-php_new {
font-weight: bold;
}
.jush-php_fun {
color: #254DB3;
}
.jush-js, .jush-css {
color: #333333;
}
.jush-css_val {
color: #448CCB;
}
.jush-clr {
color: #007800;
}
.jush a {
color: inherit;
background: transparent;
}
.jush-latte {
color: #D59401;
font-weight: bold
}
</style>
{/block}
Layout template located at app/FrontModule/presenters/templates/@layout.latte
<!DOCTYPE html>
<html lang="cs">
<head>
<meta charset="utf-8">
<title>{ifset title}{include title|stripHtml} | {/ifset}Baraja</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"
integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<link rel="stylesheet" href="{$basePath}/css/style.css">
{block head}{/block}
</head>
<body>
<div class=container>
<div n:foreach="$flashes as $flash" n:class="alert, 'alert-' . $flash->type">{$flash->message}</div>
{include content}
</div>
{block scripts}
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script src="https://nette.github.io/resources/js/3/netteForms.min.js"></script>
<script src="{$basePath}/js/main.js"></script>
{/block}
</body>
</html>
Current presenter located at app/FrontModule/presenters/HomepagePresenter.php
<?php
declare(strict_types=1);
namespace App\FrontModule\Presenters;
final class HomepagePresenter extends BasePresenter
{
}