Working Examples & Plugins


Working Examples

Listed below are a few working examples of Tapestry in the wild. If you have used Tapestry for a project where the source is publicly available, why not fork this documentation and make a pull request to add it here.

Default Scaffold Project

The default project scaffold that comes shipped with Tapestry is a very thin example of the default directory structure that makes up a Tapestry project. For more information on the default scaffold project click here.

Blog Theme

The Tapestry Blog Theme was created to be a working example of using Tapestry as the backend for your blog.

Tapestry Documentation Project

The Tapestry Documentation Project is a working example of using Tapestry to generate a projects documentation. It is also the repository behind this website.

One notable difference between this example and the Blog Theme above is that this documentation doesn't use Elixir. Instead choosing to use verbose gulp tasks. The reason for this is because at the time of development Elixir was removed from being shipped with Laravel versions ≥ 5.4.

Plugins

Listed below are a few plugins that have been built to extend the base functionality on Tapestry. If you have written a plugin for Tapestry that is publicly available, why not fork this documentation and make a pull request to add it here.

Asset Plugin

The asset plugin twins with the gulp task gulp-rev to make using static asset versioning a piece of cake.

It's used by first configuring the plugin to where gulp-rev stores the asset manifest file and then replacing references to gulp-rev managed assets with <?= $this->asset('all.css') ?>.

This works in a similar same way as the exlixir('css/all.css') helper in Laravel 5.3, more details of which can be found here.

Code Example Plugin

The code example plugin makes adding large code examples to your pages painless by encoding html entities for loaded examples. It was first written to be used by this documentation.

It's used by first configuring the plugin to where you store your examples. For example this documentation stores its code examples in source/_code-examples.

A code example is then loaded into your page via the codeExample helper. For example <?= $this->codeExample('example.php') ?>