diff options
-rw-r--r-- | IkiWiki/Plugin/teximg.pm (renamed from IkiWiki/Plugin/tex.pm) | 16 | ||||
-rw-r--r-- | debian/changelog | 2 | ||||
-rw-r--r-- | doc/plugins/tex.mdwn | 25 | ||||
-rw-r--r-- | doc/plugins/teximg.mdwn | 25 | ||||
-rw-r--r-- | doc/todo/latex.mdwn | 5 |
5 files changed, 39 insertions, 34 deletions
diff --git a/IkiWiki/Plugin/tex.pm b/IkiWiki/Plugin/teximg.pm index 7a95697b9..1993249eb 100644 --- a/IkiWiki/Plugin/tex.pm +++ b/IkiWiki/Plugin/teximg.pm @@ -2,7 +2,7 @@ # Licensed under GPL v2 or greater # (c) 2007 Patrick Winnertz <patrick.winnertz@skolelinux.org> -package IkiWiki::Plugin::tex; +package IkiWiki::Plugin::teximg; use warnings; use strict; use Digest::MD5 qw(md5_hex); @@ -11,7 +11,7 @@ use URI::Escape qw(uri_escape); use IkiWiki 2.00; sub import { #{{{ - hook(type => "preprocess", id => "tex", call => \&preprocess); + hook(type => "preprocess", id => "teximg", call => \&preprocess); } #}}} sub preprocess (@) { #{{{ @@ -27,14 +27,14 @@ sub preprocess (@) { #{{{ my $code = $params{code}; if (! defined $code && ! length $code) { - return "[[tex ".gettext("missing tex code"). "]]"; + return "[[teximg ".gettext("missing tex code"). "]]"; } if (check($code)) { return create($code, check_height($height), \%params); } else { - return "[[tex ".gettext("code includes disallowed latex commands"). "]]"; + return "[[teximg ".gettext("code includes disallowed latex commands"). "]]"; } } #}}} @@ -70,7 +70,7 @@ sub create ($$$) { #{{{ my $digest = md5_hex($code, $height); - my $teximgdir = "/teximages"; + my $teximgdir = "/teximag"; my $imglink = "$teximgdir/$digest.png"; my $imglog = "$teximgdir/$digest.log"; will_render($params->{destpage}, $imglink); @@ -89,10 +89,12 @@ sub create ($$$) { #{{{ if (-e "$config{destdir}/$imglink" || gen_image($code, $height, $digest, $teximgdir)) { - return qq{<img src="$imgurl" alt="}.uri_escape($code).qq{" class="teximage" />}; + return qq{<img src="$imgurl" alt="} + .(exists $params{alt} ? $params{alt} : uri_escape($code)) + .qq{" class="teximg" />}; } else { - return qq{[[tex <a href="$logurl">}.gettext("failed to generate image from code")."</a>]]"; + return qq{[[teximg <a href="$logurl">}.gettext("failed to generate image from code")."</a>]]"; } } #}}} diff --git a/debian/changelog b/debian/changelog index b057e7c56..1ff492a48 100644 --- a/debian/changelog +++ b/debian/changelog @@ -46,7 +46,7 @@ ikiwiki (2.6) UNRELEASED; urgency=low * Add proper Homepage field to Debian package (needs uber-new dpkg). * Add monotone support, contributed by William Uther. * Avoid ugly gettext messages if LANG is empty. Closes: #439035 - * Added tex plugin to generate images from latex code. + * Added teximg plugin to generate images from latex code. Contributed by Patrick Winnertz as a GSoC project. * Call the formbuilder hook for the edit page. * Call decode_form_utf8 before running formbuilder_setup hooks. diff --git a/doc/plugins/tex.mdwn b/doc/plugins/tex.mdwn deleted file mode 100644 index 52f90f6ab..000000000 --- a/doc/plugins/tex.mdwn +++ /dev/null @@ -1,25 +0,0 @@ -[[template id=plugin name=tex author="[[PatrickWinnertz]]"]] -[[tag type/chrome type/slow]] - -This plugin renders LaTeX formulas into images, which are rendered automatically when you save this site. - -Scaling of this images is of course also possible, possible heights are: - - 8,9,10,11,12,14,17,20 - -But is also work if you pic e.g. another height. The best fitting height is then used to generate the image. - -#Here are some examples how to use this plugin: - - [[tex code="\ce{[Cu(NH3)3]^{2+}}"]] - [[tex code="\frac{1}{2}"]] - [[tex code="E = - \frac{Z^2 \cdot \mu \cdot e^4}{32\pi^2 \epsilon_0^2 \hbar^2 n^2}" ]] - -in order to scale this images use height=x: - - [[tex code="\ce{[Cu(NH3)3]^{2+}}" height="17"]] - [[tex code="\ce{[Cu(NH3)3]^{2+}}" height="8"]] - -If no height is choosen the default height 12 is used. - -See [this site](http://www.der-winnie.de/opensource/gsoc2007) for rendered images.
\ No newline at end of file diff --git a/doc/plugins/teximg.mdwn b/doc/plugins/teximg.mdwn new file mode 100644 index 000000000..5c35aa2e8 --- /dev/null +++ b/doc/plugins/teximg.mdwn @@ -0,0 +1,25 @@ +[[template id=plugin name=teximg author="[[PatrickWinnertz]]"]] +[[tag type/chrome type/slow]] + +This plugin renders LaTeX formulas into images. + +## examples + + \[[teximg code="\ce{[Cu(NH3)3]^{2+}}"]] + \[[teximg code="\frac{1}{2}"]] + \[[teximg code="E = - \frac{Z^2 \cdot \mu \cdot e^4}{32\pi^2 \epsilon_0^2 \hbar^2 n^2}" ]] + +To scale the image, use height=x: + + \[[teximg code="\ce{[Cu(NH3)3]^{2+}}" height="17"]] + \[[teximg code="\ce{[Cu(NH3)3]^{2+}}" height="8"]] + +If no height is choosen the default height 12 is used. Valid heights are: 8, 9, +10, 11, 12, 14, 17, 20. If another height is entered, the closest available +height is used. + +To add an alt text to the image, use alt="text": + + \[[teximg code="\frac{1}{2}" alt="1/2"]] + +See [this site](http://www.der-winnie.de/opensource/gsoc2007) for rendered images. diff --git a/doc/todo/latex.mdwn b/doc/todo/latex.mdwn index cedf7cbd5..8822bd30b 100644 --- a/doc/todo/latex.mdwn +++ b/doc/todo/latex.mdwn @@ -167,13 +167,16 @@ Okay, the last version of the tex plugin for ikiwiki can be downloaded [here](ht > fixed a bug (the first time it was run, it tried to write the png file > before the teximages/ directory existed) and checked the result in. > -> Can you please flesh out [[plugins/tex]] with +> Can you please flesh out [[plugins/teximg]] with > whatever documentation people who know tex will expect to see? Okay, I'll fill this up today I think with information about the plugin Done. Is that docu fine with you? +>> Perhaps add some documentation about the kind of tex code that can be +>> used, or a link to some documentation so people who don't know latex +>> well can figure this out? > Also, please review my changes. In particular, I changed the @badthings > array to use qr//, which is much clearer, but it needs to be tested that |