PHamlP changed to provide better support for user defined filters.
If you are using the Markdown filter you must now provide the path alias in your configuration to the directory containing the Yii specific version. The Yii specific version is included in the extension.
Not sure if you wanted bugs listed here or on Google Code. Anyway, I’ve a question too, so maybe this is fine for once.
First the question: Do you know of any editor that’ll syntax highlight the php haml file. The one I tried (on vim) worked for Ruby files and didn’t do much for php.
Now the bug:
The control blocks (if, for …) were causing errors in file HamlParser.php. Made some changes (given below) and it’s working fine now.
private function parseCode($line, &$lines, $parent) {
if (preg_match('/^(if|foreach|for|switch|do|while)\b(.*)$/',
$line[self::Haml_CONTENT], $block)) {
if ($block[1] === 'do') {
$node = new HamlCodeBlockNode('<?php do { ?>');
$node->doWhile = 'while' . $block[2] . ';';
}
This page on the Haml website has a list of supported editors. I guess PHP support is limited as Haml and Sass are - currently at least - used mainly with Ruby.
a. Have // be equivalent to -#. It’s much easier to type.
b. Allow single line filters. That is, pass on the remainder of the :filtername line to the filter.
If you decide against these, I’d appreciate it if you could point me to the right place so I can make the changes locally.
Also, I got the syntax highlighting to work in emacs (on windows). The difference from the original is that my hack handles php code and allows indendation by tabs. If you are interested, let me know.
Attached the files needed for syntax highlighting in Emacs. The zip file contains php-mode.el and haml-mode.el. Copy these to your emacs/lisp/progmodes directory.
Add the line
(require 'haml-mode)
to your .emacs file (This file may need to be created).
The way to do what you want is with code interpolation - the #{<PHP code>} construct. Code interpolation isn’t supported (yet) in the class and id shortcuts, so you need to declare the class as an attribute. I will investigate to see if I can get interpolation working in the shortcuts. If I can I’ll put in the next release.
To take your example verbatim, here is the Haml code (I’ve put the text on the same line as it’s short, but can be on the next line and indented)
Chris, you might also want to include all this in the documentation. I would also suggest going through the Haml doc and at least rewriting the ones that mention Ruby. For example, how would {} attributes work, or attribute methods, Object Reference: []
Question: How do I create an empty textarea. I had to resort to plain HTML.
and so do Object references - though use the latest SVN version of HamlParser (there was an issue with class and id having a leading space in earlier versions)
%p[$object, prefix] Text
will become ($object instanceof MyObject, $object->id == 23)
%form
%textarea(rows="6" cols="80" name="body" id="body")
-# Doesn't have to be in a form to work
%textarea(rows="6" cols="80" name="body" id="body1")
-# Using .class#id and attributes works fine
%textarea.class#body2(rows="6" cols="80" name="body")
Are you the only developer of Phamlp and why did you choose the yii framework as an ‘framework implementation’ example? PhamlP being framework-independent…
I am just going to switch all my view templates to haml. Really like it. Unfortunately the html2haml script contributed by the haml ruby gem breaks some -> to ?> in many cases… but that’s ok since there aren’t man views yet to convince