Editing Template:Boxcode
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
<div style="width:{{{width|auto}}}; float:{{{float|none}}};"> | <div style="width:{{{width|auto}}}; float:{{{float|none}}};"> | ||
<div style=" | <div style="background:#e5e5ff; border:3px double #8080b0; margin:5px; padding:5px; box-shadow: 4px 4px 2px 1px #e0e0e0; overflow:auto;"> | ||
<div class="nowrap" style="display:inline-block; margin-bottom:5px;"> | |||
<div style="float:left; background:#ffffff; line-height:25px; border:1px solid #8080b0; font-family:Arial; font-weight:bold; font-style:italic; color:#606090; padding-left:5px; padding-right:5px;">{{{title|Code Sample}}}</div><span style="text-align:right; margin-left:5px;">[[image:Edit-copy_purple.svg.png|link=|x25px]]</span> | |||
</div> | |||
{{clear}} | |||
}} | <div style="border:1px dashed #8080b0; height:{{{height|auto}}}; overflow:auto;"> | ||
<div style=" | <div style="margin-top:-14px; margin-bottom:-14px; margin-right:-{{{margin|0px}}};">{{{code|code}}}</div> | ||
</div> | |||
</div> | </div> | ||
</div><noinclude> | </div><noinclude> | ||
<br><br>{{clear}} | |||
== Usage == | == Usage == | ||
All the parameters in bold are optional, for a good look the "code sample" should start with either a <nowiki><pre> or a <syntaxhighlight></nowiki> | All the parameters in bold are optional, for a good look the "code sample" should start with either a <nowiki><pre> or a <syntaxhighlight></nowiki> | ||
Line 22: | Line 24: | ||
<br>...or...<br> | <br>...or...<br> | ||
<nowiki>{{</nowiki>Boxcode|'''float='''right|'''width='''50%|'''height='''500px|'''title='''Custom Title|'''code='''Code Sample<nowiki>}}</nowiki> | <nowiki>{{</nowiki>Boxcode|'''float='''right|'''width='''50%|'''height='''500px|'''title='''Custom Title|'''code='''Code Sample<nowiki>}}</nowiki> | ||
<br>...or...<br> | |||
<nowiki>{{</nowiki>Boxcode|'''float='''right|'''margin='''100px|'''width='''50%|'''height='''500px|'''title='''Custom Title|'''code='''Code Sample<nowiki>}}</nowiki> | |||
== Examples == | == Examples == | ||
{{Boxcode|code=<syntaxhighlight lang="xml"> | {{Boxcode|title=Custom Title|code=<syntaxhighlight lang="xml"> | ||
<code> | <code> | ||
lines | lines | ||
<!--here--> | <!--here--> | ||
very long lines adds a horizontal scroll bar at bottom of the template to preserve the width of the wiki pages | very long lines adds a horizontal scroll bar at bottom of the template to preserve the width of the wiki pages ...............................................................................................................................................................................................................................................................................................o/sup | ||
................................. ........................... ............................................ ....................................... ....................................................... ..................................... ....................... .............................o/sup | |||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
{{Boxcode|width=50%|float=left|title=width=50% float=left|code=<syntaxhighlight lang="xml"> | |||
{{Boxcode|float=left|title=float=left|code=<syntaxhighlight lang="xml"> | |||
<code> | <code> | ||
lines | lines | ||
<!--here--> | <!--here--> | ||
very long lines adds a horizontal scroll bar | very long lines adds a horizontal scroll bar at bottom of the template to preserve the width of the wiki pages | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
{{Boxcode|float=right|title=float=right|code=<syntaxhighlight lang="xml"> | {{Boxcode|width=50%|margin=300px|float=right|title=width=50% float=right margin=300px|code=<syntaxhighlight lang="xml"> | ||
<code> | <code> | ||
lines | lines | ||
<!--here--> | <!--here--> | ||
very long lines adds a horizontal scroll bar | very long lines adds a horizontal scroll bar at bottom of the template to preserve the width of the wiki pages | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
{{clear}} | {{clear}} | ||
{{Boxcode|float=left|width= | {{Boxcode|width=700px|float=left|title=width=700px float=left|code=<syntaxhighlight lang="xml"> | ||
<code> | <code> | ||
lines | lines | ||
<!--here--> | <!--here--> | ||
very long lines adds a horizontal scroll bar | very long lines adds a horizontal scroll bar | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
{{Boxcode|float=right|width= | {{Boxcode|width=auto|float=right|title=width=auto float=right|code=<syntaxhighlight lang="xml"> | ||
<code> | <code> | ||
lines | lines | ||
<!--here--> | <!--here--> | ||
very long lines adds a horizontal scroll bar | very long lines adds a horizontal scroll bar | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
{{Boxcode|width=auto|float=right|title=width=auto float=right|code=<syntaxhighlight lang="xml"> | |||
{{Boxcode|float= | |||
<code> | <code> | ||
lines | lines | ||
<!--here--> | <!--here--> | ||
very long lines adds a horizontal scroll bar | |||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
{{Boxcode|width=350px|height=200px|float=right|title=width=350px height=200px float=right|code=<syntaxhighlight lang="xml"> | |||
{{Boxcode| | <code> | ||
lines | |||
<!--here--> | |||
very long lines adds a horizontal scroll bar | |||
<code> | <code> | ||
lines | lines | ||
<!--here--> | <!--here--> | ||
very long lines adds a horizontal scroll bar | |||
<code> | <code> | ||
lines | lines | ||
<!--here--> | <!--here--> | ||
very long lines adds a horizontal scroll bar | very long lines adds a horizontal scroll bar | ||
############################################### | |||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
{{Boxcode|width=auto|height=auto|float=left|title=width=auto height=auto float=left|code=<syntaxhighlight lang="xml"> | |||
<code> | |||
lines | |||
{{ | <!--here--> | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
{{Boxcode|width=150px|height=auto|float=left|title=width=150px height=auto float=left|code=<syntaxhighlight lang="xml"> | |||
{{ | <code> | ||
lines | |||
<!--here--> | |||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
<pre | {{clear}} | ||
*Notes: | |||
The line wrapping inside <nowiki><syntaxhighlight></nowiki> and <nowiki><pre></nowiki> applyed when the text is longer than the container is an annoyance because it wraps the lines at the positions of the space characters (thats very bad for displaying code), by default is a lot better to display the lines entirelly and let them float "hidden" at the right of the box (thats when the horizontal scrollbar appears at bottom of the box)<br> | |||
It seems it can be achieved by using '''white-space:pre''' as explained in [https://www.w3schools.com/cssref/pr_text_white-space.asp 1] and [https://css-tricks.com/almanac/properties/w/whitespace/ 2] but doesnt seems to work when is included inside the <nowiki>{{boxcode}}</nowiki> template (so i cant predefine it to do it automatically), another aditional problem is that it works only for <nowiki><pre></nowiki> but doesnt seems to work for <nowiki><syntaxhighlight></nowiki>. If someone knows how to implement this feature in the template (maybe with a mediawiki class ?) please do it, in the meantime the only 2 solutions i see are: | |||
*Do the '''white-space:pre''' when calling the <nowiki>{{boxcode}}</nowiki> template, this way. '''<nowiki>{{Boxcode|title=Something|code=<pre style="white-space:pre;">code here</pre>}}</nowiki>''' | |||
*<strike>Add a long line of consecutive characters (of the same lenght of the longest code line) at the last line of the code, to force the scroll bar to appear (this is a dirty hack but is easy and solves the problem)</strike> This doesnt works, the long line is not wrapped, but all the other lines are :/ | |||
</ | |||
[[Category:templates]]</noinclude> | [[Category:templates]]</noinclude> |