On 4 Dez., 12:27, Robert K. [email protected] wrote:
helper that appliers google’s syntaxhighlighting javascript thing to
panel.add (new JLabel (“One”));
[CDATA[#{block}]]>"
panel.add (new JLabel (“Two”));
Or even do
with proper definitions of both constants? What am I missing?
Kind regards
robert
PS: Please do not top post.
–
remember.guy do |as, often| as.you_can - without endhttp://blog.rubybestpractices.com/
Ah - thanks for all the suggestions.
-
you’re right, it was moving the %> to its own line that did it.
The chomp isn’t necessary.
-
I’ll look at the HAML approach, which seems great.
-
I didn’t think of using a constant, but I wouldn’t. I also always
opt for functional abstraction over a variable or constant, in case I
want to extend the behavior later without having to change all the
instances of usage.
For example, I did end up extending the functionality. It now takes a
hash of options that it passes to syntaxhighlighter, and other options
that do my own custom stuff and wrap additional html around it.
The resulting code, much cleaner than the full syntaxhighlighter html,
is this:
<%= code :brush => “java”,
:code => <<-CODE
// create a panel using a GridBagLayout
JPanel panel = new JPanel (new GridBagLayout());
// three labels on the first row
panel.add (new JLabel (“One”));
panel.add (new JLabel (“Two”));
panel.add (new JLabel (“Threeeee”));
CODE
%>
And I was able to easily extend it with an option that places an image
floating to the right of the code (and changes the css class of the
syntaxhighlighter thing itself so it doesn’t fill 100% of the page
width):
<%= code :brush => “java”,
:image => “http://jakemiles.smugmug.com/photos/
702110106_Wtyxg-S.jpg”,
:code => <<-CODE
// create a panel using a GridBagLayout
JPanel panel = new JPanel (new GridBagLayout());
// three labels on the first row
panel.add (new JLabel (“One”));
panel.add (new JLabel (“Two”));
panel.add (new JLabel (“Threeeee”));
CODE
%>