X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/a2c4ad5fad89f91d11811288c7781fb75712b9a3..cf4ae3d506e0b5dfde9808f6e8e032cf52c09b07:/templates/macros.tmpl diff --git a/templates/macros.tmpl b/templates/macros.tmpl index 8714a08..3132e57 100644 --- a/templates/macros.tmpl +++ b/templates/macros.tmpl @@ -1,7 +1,5 @@ -@discard{ - This file is part of DisOrder. -Copyright (C) 2004-2008 Richard Kettlewell +Copyright (C) 2008 Richard Kettlewell This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -18,21 +16,121 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -@# Expand to @yes for the Manage page and @no for the playing page -@define {ifmanage} {yes no} - {@if {@eq {@arg{action}}{manage}} - {@yes} - {@no}} -@# Expand to &back=manage or to nothing -@define {back} {} - {@ifmanage{&back=manage}{}} +------------------------------------------------------------------------ +Standard macros + + +This file is read before any other template. Its output is discarded +but side effects (definitions of macros) are retained. To override it, +create /etc/disorder/macros.tmpl that includes this file by absolute path +and then redefines macros as desired. +------------------------------------------------------------------------ + + +@# Standard width and height of an image +@define {width} {} {16} +@define {height} {} {16} + +@# Standard text +@# @name is the name of this page, for the element +@define {stdhead} {name} + {@quiethead +<title>@label{@name.title}} + +@# Non-displaying text +@define {quiethead} {} + { } + +@# Standard menu +@# @current is the name of the current page, e.g. choosealpha, login +@define {stdmenu} {current} + {
+ + +
+
+} + +@define {menuurl} {name} + {@if{@eq{name}{playing}} + {@url} + {@url?action=@name}} + +@# Menu entry +@# Used by @stdmenu +@# @current is the name of the current page (not necessarily the action that +@# got there!) +@# @name is the name of the menu item +@# @available is true if the menu item is available, else false +@# +@define {menuitem} {current name available} + {@if{@available} + { @label{menu.@name}} + { @label{menu.@name}}} + +@# Icon-based menu entry (very similar to @menuitem) +@# Used by @stdmenu +@# @current is the name of the current page +@# @name is the name of the menu item +@# @available is true if the menu item is available, else false +@# @icon is the name of the icon +@# +@define {menuicon} {current name available icon} + {@if{@available} + { + @label{menu.@name} + } + { + @label{menu.@name} + }} + +@# Standard footer text +@define {credits} {} + {

+ DisOrder + version @version + © 2003-2008 Richard Kettlewell et al +

} @# Expand to the time that @id will be played +@# @what is the section +@# @id is the track ID @define {mwhen} {what id} {@when{@id}} @# Expand to the 'who' field for @id +@# @what is the section +@# @id is the track ID @define {mwho} {what id} {@if{@eq{@who{@id}}{}} {@if{@eq{@state{@id}}{random}} @@ -41,38 +139,170 @@ USA {@who{@id}}} @# Expand to the artist for @track +@# @what is the section +@# @track is the track name @define {martist} {what track} {@right{play} {@part{@track}{short}{artist}} + href="@url?action=choose&dir=@urlquote{@dirname{@dirname{@track}}}" + title="@label{playing.artistverbose}">@part{@track}{artist}{short}} {@part{@track}{short}{artist}}} + title="@part{@track}{artist}">@part{@track}{artist}{short}
}} @# Expand to the album for @track +@# @what is the section +@# @track is the track name @define {malbum} {what track} {@right{play} {@part{@track}{short}{album}} + href="@url?action=choose&dir=@urlquote{@dirname{@track}}" + title="@label{playing.albumverbose}">@part{@track}{album}{short}} {@part{@track}{short}{album}}} + title="@part{@track}{album}">@part{@track}{album}{short}}} @# Expand to the title for @track +@# @what is the section +@# @track is the track name @define {mtitle} {what track} - {@part{@track}{short}{title}} + {@part{@track}{title}{short}} + +@# As @mtitle but make a link to play the track +@# @what is the section +@# @track is the track name +@define {mtitleplay} {what track} + {@part{@track}{title}{short}} @# Expand to the remove/scratch entry for @id +@# @what is the section +@# @id is the track ID @define {mremove} {what id} {@if{@removable{@id}} { @label{@what.scratch} } {@label{@what.scratch}}} -}@# +@# Expand to a move button +@# @id is the track ID +@# @dir should be a direction: up, upall, down or downall +@# @delta should be the distance, +ve for up and -ve for down +@# This macro calls @movable to check that the move is possible. +@define {mmove} {id dir delta} + {@if{@movable{@id}{@delta}} + { + @label{playing.@dir} + } + {@label{playing.@dir}}} + +@# Size of input box for preferences forms +@define{prefsize}{}{40} + +@# Expand to the weight of a track. This macro knows the default weight, +@# and does two lookups, which is rather inelegant. +@# @track is the track name. +@define{weight}{track}{@if{@eq{@pref{@track}{weight}}{}} + {90000} + {@pref{@track}{weight}}} + +@# Expand to preference form section for a track +@# @index is the track number +@# @track is the track name +@define {mprefs} {index track} + { +

Preferences for @quote{@resolve{@track}}:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
@label{prefs.name}@label{prefs.value}
@label{heading.title} + +
@label{heading.album} + +
@label{heading.artist} + +
@label{prefs.tags} + +
@label{prefs.weight} + +
@label{prefs.random} + +
+} + +@# Expand to a submit button +@# @text is the text to put inside the button +@define {submit} {text} + {} + +@# Expand to an action button +@# @text is the text to put inside the button +@# @long is the text to put in the caption +@# @action is the target action +@define {actbutton} {text long action} + {
+ + +@formback@# +
} +@# TODO @back support + +@# Used for inserting back= elements +@define {back} {} {} +@define {formback} {} {} + +Local variables: +mode:sgml +sgml-always-quote-attributes:nil +sgml-indent-step:1 +sgml-indent-data:t +indent-tabs-mode:nil +fill-column:79 +End: