Commit Graph

24 Commits

Author SHA1 Message Date
Holger Just 31620d0c0a Override first and last filters to allow simple array slicing 2012-01-17 13:47:13 +01:00
Holger Just 9967b5cdf2 Patch Liquid to include filters in a predictable order
This brings us a reliable filter override until
https://github.com/Shopify/liquid/pull/87 is accepted and
released upstream.
2012-01-16 20:49:39 +01:00
Holger Just e91a1e010f [#778] Properly cache Liquid markup
This commit moves the markup caching into Liquid rendering. As
Liquid allows to return different results depending on the environment
(variables, logged user, ...) we only cache the page if it contains
no active content.

Unfortunetely, active content currently also includes the TOC
in wiki pages.
2012-01-16 17:08:52 +01:00
Holger Just f1324e6af4 [#790] Replace TagList and VariableList tags with variables 2012-01-05 23:36:30 +01:00
Holger Just 446f943968 [#790] Add filter to output an array into an unordered list 2012-01-05 23:36:30 +01:00
Holger Just 3c3eb2f7e7 [#790] Register variables with an API 2012-01-05 23:36:29 +01:00
Holger Just 745f889e92 Enforce UTF-8 source encoding 2011-12-18 21:40:14 +01:00
Holger Just ba6fcfeca9 Override some filters of Liquid core.
These filters change the implemntation of sub and gsub to use the block method.
This prevents the evaluation of backreferences in the replacement text. See
https://gist.github.com/1491437 for examples.

Also, it allows split to be called without arguments to split strings on
whitespace.
2011-12-18 15:54:09 +01:00
Eric Davis 2f0d13149d Copyright header update 2011-12-17 15:50:52 -08:00
Holger Just 04eb115da7 Add identity tag which just returns whatever was entered as input 2011-12-17 23:49:25 +01:00
Holger Just e2c57fd12d Make floated TOCs in wikis compatible with the Liquid engine
The floated tags (>toc and <toc) are invalid syntax because of the < and >
characters. We transform them to toc_left and toc_right instead.
2011-12-17 22:14:19 +01:00
Holger Just 7458bca34b Don't create arguments for legacy tags if there aren't any 2011-12-17 22:14:19 +01:00
Holger Just 60deeb5306 Move definiton of liquid legacy tags into the Legacy module.
This is required to retaiun the definition in development mode as the module
is stragely reloaded.
2011-12-17 22:01:20 +01:00
Holger Just 9f4d12ffdf [#734] Don't modify text inline.
This is not only a wee bit faster (yay!) but also allows use to deal with
frozen strings and doesn't change content which might inadvertently be saved
later on. And it fixes some broken tests on Ruby 1.9 :)
2011-11-26 16:10:24 +01:00
Holger Just f6805303fb [#604] Remove the leading newline from Liquid blocks for easier formatting 2011-11-20 02:49:21 +01:00
Holger Just 994132a51a [#604] Add nicer error formatting, similar to the old style 2011-11-20 02:49:21 +01:00
Holger Just fe6a79ac17 [#604] Add some handy filters 2011-11-20 02:49:21 +01:00
Holger Just 862c9e0fde [#604] Adapt the upstream include mechanism to work with Wiki pages 2011-11-20 02:49:20 +01:00
Eric Davis 71ecdb57ed [#604] Port the child_pages to Liquid tag 2011-11-20 02:49:20 +01:00
Eric Davis 1e7dfe545e [#604] Port the macro_list to Liquid: variable_list and tag_list 2011-11-20 02:49:20 +01:00
Eric Davis 7778ff2f83 [#604] Port hello_world macro to liquid 2011-11-20 02:49:20 +01:00
Holger Just 29fe856916 [#604] Add base tag 2011-11-20 02:49:19 +01:00
Eric Davis 81ca15c52c [#604] Add ability to support legacy macros 2011-11-20 02:49:19 +01:00
Holger Just 82432f3f99 [#604] Evaluate Liquid before Textile-to-HTML transformation.
This changes how the liquid integration works. It now integrates the Textile
conversion step. This was necessary because if you first convert the snippets
inside of loops and conditionals from Textile to HTML, you loose some
important context information which is required to e.g. build proper lists in
textile.

We expect the standard case that Liquid tags return Textile markup instead
of HTML. Thus, we can convert the final textile markup to HTML as a very last
step.

To allow existing and new macros (or tags) to return HTML for advanced usage,
we save their respective output into the context and put a placeholder string
into the generated markup. After the transformation to HTML, we insert the
previously generated HTML into the string using search+replace in
lib/chili_project/liquid/template.rb. Tags have to be registered using
:html => true for this special treatment.
2011-11-20 02:49:19 +01:00