Building a website is easy in the first step, but difficult in the long run. Doing some Search Engine Optimizations, handling language versions and translations, and so on. For a lot of cases, even a CMS like WordPress would be too huge. So we build the smallest possible system with a maximum of possibilities.
Kiwa builds URLs depending on your config. You can decide weather you want to add a language part to each URL or not and also if it should have a suffix or not. Linking from one page to another works always same, no matter how your URLs are defined.
Adding a link to another page is really easy: You simply need to tell Kiwa the pages ID and it will create the link with your configured URL structure by its own.
Pages are basically stored as
phtml files. They can contain php as well as html.
Kiwa allows to add PHP dependencies from Packagist with the help of Composer and also to add JS and CSS dependencies from Node with the help of Yarn or NPM.
Titles, Descriptions and other meta information are easy to add. You don't need to fear adding new language versions of a page.
A website made with Kiwa can be versioned for example with Git and can be also deployed without pain.
Kiwa is published with a MIT licence. It's completely free to use. The source code can be found at BitBucket.
Kiwa makes use of Symfony, a huge and bullet proof PHP framework. This makes it fast and secure.
Follow these steps to build your next website with Kiwa.
Kiwa is made for the use with Composer. Be sure to get it at first.
Use your CLI and Composer to create a new website by running:
$ composer create-project kiwa/website-skeleton my-project
Change my-project by your needs.
Move to your project directory, for example by running:
$ cd my-project
Create your code repository, for example by running:
$ git init
By running the installation a lot of basic files will be created, for example an assets folder for all your asset files. Those files can be committed to your repository.
Everything you want to do can be done with the help of the command line tool, which is stored in the bin folder. It will help creating pages and more. To get more information, run
$ php bin/console
To access the website from public, point your domain to the
public directory so the
index.php will be used.
To run the website in a local environment, run
$ php -S 127.0.0.1:8000 public/index.php
http://127.0.0.1:8000 in your browser then.
These extensions are useful for the work with Kiwa.
The console extension makes it easy to create new pages, to validate the config, to define the URL structure and a lot more.
Add the console extension with the help of Composer:
$ composer require kiwa/console
The sitemap extension allows to create sitemap XML files. It will parse the whole website looking for pages, language versions and images.
Add the sitemap extension with the help of Composer:
$ composer require kiwa/sitemap
The link obfuscator extension allows to create email and phone links with a maximum of security. The links will be encrypted and decrypted with the Rot47 algorithm.
Add the link obfuscator extension with the help of Composer:
$ composer require kiwa/link-obfuscator
The AMP extension helps creating an AMP version of your page.
This one is currently under development.
Who we are and why we build Kiwa.
Kiwa has been build by Bit&Black, a small and independent company in southern Germany. It has been created because we had the need for a small system which allows a maximum of professional design. Which works in modern workflows as well!
We provide a wide range of Open Source libraries, feel free to have a look at them under www.bitandblack.com.
If you have questions about Kiwa our need help building your website, feel free to get in contact with us. We love to plan and create new things and we're really sure that we may help your with your needs.
Kiwa is open for merge requests! Feel free to help us by making Kiwa even better!
A good first step is to take a look for existing issues.
Kiwa fits perfectly our need in a small system that allows a professional design!
— Tobias Köngeter, CEO of Bit&Black