Loading documentation/docs/plugins.md +6 −3 Original line number Diff line number Diff line # Plugins MaX propose un ensemble de plugins placés dans le répertoire *plugins-enabled/default*. MaX propose un ensemble de plugins placés dans le répertoire *plugins-available/default*. Tout autre plugin devra être placé dans *plugins-enabled/custom*. Le script *tool/max.sh* permet l'activation/désactivation de ces plugins. Loading @@ -17,8 +17,9 @@ $ ./tools/max.sh --list-plugins ```` Une fois activé, un plugin doit être déclaré (et configuré si nécessaire) dans les fichiers de configuration des éditions l'utilisant. Déclaration et configuration se font au sein d'un élément `<plugin/>` de la section `<plugins/>` du fichier de configuration d'une édition. Une fois activé, un plugin doit être configuré si nécessaire dans les fichiers de configuration des différentes éditions. Cette configuration se fait au sein d'un élément `<plugin/>` de la section `<plugins/>` du fichier de configuration d'une édition. ## Les plugins disponibles Loading Loading @@ -113,6 +114,8 @@ plugins déclarés dans la configuration de l'édition. Doit être déclaré dans une édition EAD. ### TEI to PDF ## Plugins et dépendances Javascript Certains plugins ont des dépendances vers des librairies js (ex : *img_viewer* requiert *OpenSeadragon*). Loading max.xq +7 −5 Original line number Diff line number Diff line Loading @@ -132,7 +132,7 @@ function max:fragmentToHTMLPage($project, $routeDoc, $id){ let $xsltDoc := max.util:buildXSLTDoc( max.util:getDefaultTextXSL($project), max.config:getXSLTAddons($project, $routeDoc)) let $xsltParams := max.config:getXSLTParams($project, $routeDoc) let $xsltParams := max.config:getXSLTParams($project, $routeDoc, $id) return try { let $html := xslt:transform($xml, $xsltDoc, $xsltParams) Loading @@ -151,6 +151,8 @@ function max:fragmentToHTMLPage($project, $routeDoc, $id){ } }; (: Highlights $search in a subfragment ($targetId) in a parent fragment ($id) :) Loading Loading @@ -182,7 +184,7 @@ declare %output:encoding("UTF-8") %rest:path("/{$project}/checkplugins.html") function max:checkPlugin($project){ let $plugins := max.config:getPluginNameList($project) let $plugins := max.config:getEnabledPluginNames() return if (not($plugins)) then <div id='pluginsReport'>Aucun plugin pour {$project}.</div> Loading Loading @@ -242,7 +244,7 @@ function max:getHTMLByID($project, $id, $xsl, $xslparams as xs:string *, $wrap a let $paramValue := substring-after($param, ':') return map:entry($paramName, $paramValue) (:Merge all xsl parameters: from url + project:) let $xsltParams := map:merge((max.config:getXSLTParams($project, ()), $xslrURLParams)) let $xsltParams := map:merge((max.config:getXSLTParams($project, (), $id), $xslrURLParams)) let $html := <div class='standalone-html' id="wrap-{$id}"> {xslt:transform($xml, $xsltDoc, $xsltParams)} Loading Loading @@ -275,7 +277,7 @@ declare function max:transformEditionFragment($project, $xml, $route){ let $xsltDoc := max.util:buildXSLTDoc( max.util:getDefaultTextXSL($project), max.config:getXSLTAddons($project, $route)) let $xsltParams := max.config:getXSLTParams($project, $route) let $xsltParams := max.config:getXSLTParams($project, $route, ()) return xslt:transform($xml, $xsltDoc, $xsltParams) }; Loading Loading @@ -326,7 +328,7 @@ function max:buildSitemap($project){ declare %private function max:invokePluginXQueries($project, $routeDoc, $id){ let $dbPath := max.config:getProjectDBPath($project) let $pluginsHTML := for $pluginName in max.config:getPluginNameList($project) for $pluginName in max.config:getEnabledPluginNames() let $pluginXQ := file:parent(static-base-uri())||'/plugins-enabled/' || $pluginName || '/'|| $pluginName ||'.xq' return if(file:exists($pluginXQ)) then Loading plugins-available/default/tei_pdf/tei2pdf.xqm 0 → 100644 +30 −0 Original line number Diff line number Diff line (: For conditions of distribution and use, see the accompanying legal.txt file. :) module namespace max.plugins.tei2pdf = 'pddn/max/plugins/tei2pdf.xqm'; import module namespace max.config = 'pddn/max/config' at '../../rxq/config.xqm'; import module namespace max.api = 'pddn/max/max_api' at '../../rxq/max_api.xqm'; import module namespace max.util = 'pddn/max/util' at '../../rxq/util.xqm'; declare %rest:GET %rest:produces("application/pdf") %rest:path("/{$project}/{$routeDoc=.*\.xml}/{$id}.pdf") function max.plugins.tei2pdf:fragmentToPDF($project, $routeDoc, $id){ let $dbPath := max.config:getProjectDBPath($project) let $content:= <TEI xmlns="http://www.tei-c.org/ns/1.0"> <teiHeader></teiHeader> <text>{max.api:getXMLByID($dbPath, $id)}</text> </TEI> let $pdf := max.util:xml2pdf($content, max.util:getProjectFoXsl($project)) return (<rest:response> <http:response status="200"> <http:header name="content-type" value="application/pdf"/> </http:response> </rest:response>, $pdf) }; No newline at end of file plugins-available/default/tei_pdf/tei_pdf.xq 0 → 100644 +9 −0 Original line number Diff line number Diff line declare variable $id external; <div class="tei2pdf"> <a role="button" title="Export pdf" target="_blank" href="./{$id}.pdf"> ⇪ </a> </div> rxq/alignment.xqm +1 −1 Original line number Diff line number Diff line Loading @@ -19,7 +19,7 @@ function max.alignment:alignedHTML($project, $doc, $id1, $id2){ max.util:getDefaultTextXSL($project), max.config:getXSLTAddons($project, $doc)) let $xsltParams := max.config:getXSLTParams($project, $doc) let $xsltParams := max.config:getXSLTParams($project, $doc,()) let $xml := max.alignment:runAlignmentQuery($project, $doc, $id1, $id2) let $html:= <div>{xslt:transform($xml, $xsltDoc, $xsltParams)}</div> Loading Loading
documentation/docs/plugins.md +6 −3 Original line number Diff line number Diff line # Plugins MaX propose un ensemble de plugins placés dans le répertoire *plugins-enabled/default*. MaX propose un ensemble de plugins placés dans le répertoire *plugins-available/default*. Tout autre plugin devra être placé dans *plugins-enabled/custom*. Le script *tool/max.sh* permet l'activation/désactivation de ces plugins. Loading @@ -17,8 +17,9 @@ $ ./tools/max.sh --list-plugins ```` Une fois activé, un plugin doit être déclaré (et configuré si nécessaire) dans les fichiers de configuration des éditions l'utilisant. Déclaration et configuration se font au sein d'un élément `<plugin/>` de la section `<plugins/>` du fichier de configuration d'une édition. Une fois activé, un plugin doit être configuré si nécessaire dans les fichiers de configuration des différentes éditions. Cette configuration se fait au sein d'un élément `<plugin/>` de la section `<plugins/>` du fichier de configuration d'une édition. ## Les plugins disponibles Loading Loading @@ -113,6 +114,8 @@ plugins déclarés dans la configuration de l'édition. Doit être déclaré dans une édition EAD. ### TEI to PDF ## Plugins et dépendances Javascript Certains plugins ont des dépendances vers des librairies js (ex : *img_viewer* requiert *OpenSeadragon*). Loading
max.xq +7 −5 Original line number Diff line number Diff line Loading @@ -132,7 +132,7 @@ function max:fragmentToHTMLPage($project, $routeDoc, $id){ let $xsltDoc := max.util:buildXSLTDoc( max.util:getDefaultTextXSL($project), max.config:getXSLTAddons($project, $routeDoc)) let $xsltParams := max.config:getXSLTParams($project, $routeDoc) let $xsltParams := max.config:getXSLTParams($project, $routeDoc, $id) return try { let $html := xslt:transform($xml, $xsltDoc, $xsltParams) Loading @@ -151,6 +151,8 @@ function max:fragmentToHTMLPage($project, $routeDoc, $id){ } }; (: Highlights $search in a subfragment ($targetId) in a parent fragment ($id) :) Loading Loading @@ -182,7 +184,7 @@ declare %output:encoding("UTF-8") %rest:path("/{$project}/checkplugins.html") function max:checkPlugin($project){ let $plugins := max.config:getPluginNameList($project) let $plugins := max.config:getEnabledPluginNames() return if (not($plugins)) then <div id='pluginsReport'>Aucun plugin pour {$project}.</div> Loading Loading @@ -242,7 +244,7 @@ function max:getHTMLByID($project, $id, $xsl, $xslparams as xs:string *, $wrap a let $paramValue := substring-after($param, ':') return map:entry($paramName, $paramValue) (:Merge all xsl parameters: from url + project:) let $xsltParams := map:merge((max.config:getXSLTParams($project, ()), $xslrURLParams)) let $xsltParams := map:merge((max.config:getXSLTParams($project, (), $id), $xslrURLParams)) let $html := <div class='standalone-html' id="wrap-{$id}"> {xslt:transform($xml, $xsltDoc, $xsltParams)} Loading Loading @@ -275,7 +277,7 @@ declare function max:transformEditionFragment($project, $xml, $route){ let $xsltDoc := max.util:buildXSLTDoc( max.util:getDefaultTextXSL($project), max.config:getXSLTAddons($project, $route)) let $xsltParams := max.config:getXSLTParams($project, $route) let $xsltParams := max.config:getXSLTParams($project, $route, ()) return xslt:transform($xml, $xsltDoc, $xsltParams) }; Loading Loading @@ -326,7 +328,7 @@ function max:buildSitemap($project){ declare %private function max:invokePluginXQueries($project, $routeDoc, $id){ let $dbPath := max.config:getProjectDBPath($project) let $pluginsHTML := for $pluginName in max.config:getPluginNameList($project) for $pluginName in max.config:getEnabledPluginNames() let $pluginXQ := file:parent(static-base-uri())||'/plugins-enabled/' || $pluginName || '/'|| $pluginName ||'.xq' return if(file:exists($pluginXQ)) then Loading
plugins-available/default/tei_pdf/tei2pdf.xqm 0 → 100644 +30 −0 Original line number Diff line number Diff line (: For conditions of distribution and use, see the accompanying legal.txt file. :) module namespace max.plugins.tei2pdf = 'pddn/max/plugins/tei2pdf.xqm'; import module namespace max.config = 'pddn/max/config' at '../../rxq/config.xqm'; import module namespace max.api = 'pddn/max/max_api' at '../../rxq/max_api.xqm'; import module namespace max.util = 'pddn/max/util' at '../../rxq/util.xqm'; declare %rest:GET %rest:produces("application/pdf") %rest:path("/{$project}/{$routeDoc=.*\.xml}/{$id}.pdf") function max.plugins.tei2pdf:fragmentToPDF($project, $routeDoc, $id){ let $dbPath := max.config:getProjectDBPath($project) let $content:= <TEI xmlns="http://www.tei-c.org/ns/1.0"> <teiHeader></teiHeader> <text>{max.api:getXMLByID($dbPath, $id)}</text> </TEI> let $pdf := max.util:xml2pdf($content, max.util:getProjectFoXsl($project)) return (<rest:response> <http:response status="200"> <http:header name="content-type" value="application/pdf"/> </http:response> </rest:response>, $pdf) }; No newline at end of file
plugins-available/default/tei_pdf/tei_pdf.xq 0 → 100644 +9 −0 Original line number Diff line number Diff line declare variable $id external; <div class="tei2pdf"> <a role="button" title="Export pdf" target="_blank" href="./{$id}.pdf"> ⇪ </a> </div>
rxq/alignment.xqm +1 −1 Original line number Diff line number Diff line Loading @@ -19,7 +19,7 @@ function max.alignment:alignedHTML($project, $doc, $id1, $id2){ max.util:getDefaultTextXSL($project), max.config:getXSLTAddons($project, $doc)) let $xsltParams := max.config:getXSLTParams($project, $doc) let $xsltParams := max.config:getXSLTParams($project, $doc,()) let $xml := max.alignment:runAlignmentQuery($project, $doc, $id1, $id2) let $html:= <div>{xslt:transform($xml, $xsltDoc, $xsltParams)}</div> Loading