mkuettel/htfx

Declarative streaming templating engine for PHP 8

dev-main 2024-06-03 17:16 UTC

This package is auto-updated.

Last update: 2025-03-03 19:13:05 UTC


README

pipeline status Latest Release coverage report

Declarative Hypertext Template Engine for PHP.

Features

  • Decorate your html to suit your needs
  • Partials, Layouts
  • Extensibility, Customization
  • Streaming of Tokens for rendering
  • more coming...

Roadmap

  • implement fibers or passing lazy functions to, to allow for rendering template as soon as possible

Installation

Clone this repository. Once you've navigated into the just cloned directory you'll first need to install all the dependencies using composer. (If you can't simply install composer on your machine there is a composer.phar file available)

composer install

(Note: use composer install --no-dev when deploying, preventing the installing of dev tools)

Then to configure the application to your computing environment you can copy the env file at the root folder of this repository and adjust the .env file like this:

cp env .env
$EDITOR .env

Development

Configuration

First, if you plan to develop this software, you'll probably want to set FX_ENVIRONMENT=development variable in your .env file to development.

Support

Tell people where they can go to for help. It can be any combination of an issue tracker, a chat room, an email address, etc.

Roadmap

If you have ideas for releases in the future, it is a good idea to list them in the README.

  • more modules based upon this repo will follow

Repo management

Contributing

State if you are open to contributions and what your requirements are for accepting them.

For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self.

You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser.

Authors and acknowledgment

License

Lesser GNU General Public License version 3 or later. See the file COPYING.

Copyright © by Moritz Küttel

Project status

Beta, Unfinished