We are a part of the largest non-formal educational NGO for children and youth in the Czech Republic Junák - český skaut.
This repo contains the website for scouts from Prague - capital city of the Czech Republic - praha.skauting.cz (czech only).
All contributors are welcome. Send me an e-mail to nik@skaut.cz.
All issue reports and feature requests are welcome to.
Requirements: PHP stack, Composer, mango-cli
git clone git@github.com:DNepovim/kraj-praha.git
cd kraj-praha
composer install
npm install
mango dev
Additional steps:
- Create a new database
- Create your
config/config.local.neon
based onconfig.local.sample.neon
. - Make directories
log/
,temp/
,public/wp-content/*
writeable for web process
Use Docker for local development
Install Docker and run docker-compose up -d
.
Web is now exposed on localhost:8000
, Adminer is on localhost:8080
.
Database access is configured in .env
file.
app
- Nette MVC applicationconfig
- All configuration in one placedocker
- Docker server config filespublic
- Public directory to be set as document_root dirassets
- compiled theme assets, do not edit them herewp-content
- WP content directorywp-core
- WP distribution installed via composer
theme
- main WP theme with all templates and original assetsvendor
- composer packages
You are going to spent the most of your time in the theme
directory. Follow these code architecture instructions to avoid a loss of your sanity:
- Use
index.php
and other WP template files as controllers (php code only). Controller should define and fill a context for an actual template. - Use templates
views/*.latte
as views. All the HTML chunks belong here. Work with given context only and do not execute unnecessary php code. - Assets source directories are
styles
,scripts
andimages
and the mango-cli compiles them to thepublic/assets
distribution directory.
composer install wpackagist-plugin/PLUGINNAME
Thanks to wpackagist repository, you can install all plugins and themes from official WordPress directory via composer.
Installed plugins are used as mu-plugins, which cannot be disabled or removed from administration. Beware: not all plugins can work that way, especially ones that need some sort of activation initialization steps.
Applications deployed to production servers cannot install, update, or remove plugins at all. All changes must be tested, versioned and properly deployed instead.
We use Browserstack Pro for free which is possible thanks to the fact that they love open source.
Also we use Bugsnag for free thanks to their support of opensource projects.
Fine tuned WordPress structure with the horse power of the Nette Framework, all utilizing the Composer and mango-cli.
Copyright 2014 by manGoweb s.r.o. Code released under the MIT license.