winix/winixd/html/index_head_adder.html

389 lines
14 KiB
HTML

[# def? means define a variable if such a variable does not exist yet]
[# true and false are ezc functions defined by winix]
[def? winix_has_uikit false]
[def? winix_has_jquery false]
[def? winix_has_htmx false]
[def? winix_set_charset true]
[def? winix_set_viewport true]
[def? winix_load_uikit true]
[def? winix_load_htmx true]
[def? winix_load_clocklet false]
[def? winix_clocklet_uikit_theme true]
[def? winix_load_flatpickr false]
[def? winix_load_litepicker false]
[if winix_set_charset]
<meta charset="UTF-8">
[end]
[if winix_set_viewport]
<meta name="viewport" content="width=device-width, initial-scale=1">
[end]
[if winix_load_uikit]
[def winix_has_uikit true]
[# UIkit CSS]
<link rel="stylesheet" href="[doc_base_url_common]/uikit/uikit-3.7.4/css/uikit.min.css">
[# UIkit JS]
<script src="[doc_base_url_common]/uikit/uikit-3.7.4/js/uikit.min.js"></script>
<script src="[doc_base_url_common]/uikit/uikit-3.7.4/js/uikit-icons.min.js"></script>
[end]
[if winix_load_htmx]
[def winix_has_htmx true]
<script src="[doc_base_url_common]/htmx/1.5.0/dist/htmx.min.js"></script>
[end]
[if winix_has_htmx]
<script>htmx.on("htmx:afterOnLoad", function(evt) \{
[# we can optimize it by searching first the <head> tag]
var winix_elements = htmx.findAll(".winix-auto-delete");
for(var i=0 ; i<winix_elements.length ; ++i)
\{
console.log("removing:");
console.log(winix_elements\[i\]);
htmx.remove(winix_elements\[i\]);
\}
\});
</script>
[end]
[if or [winix_function_is "emacs"] [winix_function_is "env"] [winix_function_is "meta"]]
<script type="text/javascript" src="[doc_base_url_common]/codemirror/5.59.2/lib/codemirror.js"></script>
<link rel="stylesheet" href="[doc_base_url_common]/codemirror/5.59.2/lib/codemirror.css" type="text/css">
<script src="[doc_base_url_common]/codemirror/5.59.2/mode/css/css.js"></script>
<script src="[doc_base_url_common]/codemirror/5.59.2/mode/javascript/javascript.js"></script>
<script src="[doc_base_url_common]/codemirror/5.59.2/mode/xml/xml.js"></script>
<script src="[doc_base_url_common]/codemirror/5.59.2/mode/htmlmixed/htmlmixed.js"></script>
<!--<link rel="stylesheet" href="[doc_base_url_common]/codemirror/5.59.2/theme/base16-light.css" type="text/css">-->
<script src="[doc_base_url_common]/codemirror/5.59.2/addon/display/fullscreen.js"></script>
<link rel="stylesheet" href="[doc_base_url_common]/codemirror/5.59.2/addon/display/fullscreen.css" type="text/css">
[if false]
<script src="[doc_base_url_common]/codemirror/5.59.2/addon/search/search.js"></script>
<link rel="stylesheet" href="[doc_base_url_common]/codemirror/5.59.2/addon/search/matchesonscrollbar.css" type="text/css">
[end]
<script src="[doc_base_url_common]/codemirror/5.59.2/addon/fold/xml-fold.js"></script>
<script src="[doc_base_url_common]/codemirror/5.59.2/addon/edit/matchtags.js"></script>
<script src="[doc_base_url_common]/codemirror/5.59.2/addon/selection/active-line.js"></script>
<style>
.CodeMirror-matchingtag \{
font-weight: bold;
background: none;
\}
.CodeMirror-activeline-background \{
background: #f3f3f3;
\}
.CodeMirror \{
border: 1px solid #dedede;
\}
</style>
<script type="text/javascript">
var winix_code_mirror_editor;
function winix_initialize_editor()
\{
var text_area = document.getElementById("winix_content_id");
if( text_area )
\{
winix_code_mirror_editor = CodeMirror.fromTextArea(text_area, \{
mode: "htmlmixed",
theme: "default",
indentUnit: 4,
smartIndent: true,
tabSize: 4,
indentWithTabs: true,
extraKeys: \{
"F11": function(cm) \{ cm.setOption("fullScreen", !cm.getOption("fullScreen")); \},
"Esc": function(cm) \{ if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false); \}
\},
lineNumbers: true,
lineWiseCopyCut: false,
dragDrop: false,
matchTags: true,
styleActiveLine: true
\});
\}
\}
[if false]
this will probably be used to change the mode in the fly
winix_code_mirror_editor.setOption("mode", "");
before saving (update button by ajax) this method should be used:
cm.save()
Copy the content of the editor into the textarea.
[end]
if( window.addEventListener )
window.addEventListener("load", winix_initialize_editor, false);
else
if( window.attachEvent )
window.attachEvent("onload", winix_initialize_editor);
</script>
[end]
[if winix_function_is "ckeditor"]
[def winix_has_jquery true]
<script type="text/javascript" src="[doc_base_url_common]/ckeditor_4.9.2/ckeditor.js"></script>
<script type="text/javascript" src="[doc_base_url_common]/jquery/1.12.4/jquery.min.js"></script>
<script type="text/javascript" src="[doc_base_url_common]/winix/update_button.js"></script>
[end]
[if winix_function_is "tinymce"]
<script type="text/javascript" src="[doc_base_url]/common/tiny_mce/5.6.2/tinymce.min.js"></script>
[# tinymce can use a special theme called 'mobile' - it is used when /mobile param is provided]
<script type="text/javascript" src="[doc_base_url]/var/tinymce.js[if winix_function_param_is "mobile"]/-/mobile[end]"></script>
[def winix_has_jquery true]
<script type="text/javascript" src="[doc_base_url_common]/jquery/1.12.4/jquery.min.js"></script>
<script type="text/javascript" src="[doc_base_url_common]/winix/update_button.js"></script>
[end]
[if winix_function_is "nicedit"]
<script type="text/javascript" src="[doc_base_url_common]/nicedit/0.9_r25/nicEdit.js"></script>
[end]
[if winix_function_is "vim"]
[# info from version 0.5-rc1: this editor doesn't work on different domains by default, solution: http://forum.wymeditor.org/forum/viewtopic.php?f=2&t=731&p=2507#p2504 ]
[# you should add one file to winix: wymiframe.html ]
[def winix_has_jquery true]
<script type="text/javascript" src="[doc_base_url_common]/jquery/1.12.4/jquery.min.js"></script>
<script type="text/javascript" src="[doc_base_url_common]/wymeditor/1.1.1/wymeditor/jquery.wymeditor.min.js"></script>
<link rel="stylesheet" type="text/css" href="[doc_base_url_common]/wymeditor/1.1.1/wymeditor/skins/default/skin.css">
<script type="text/javascript">jQuery(function() \{ jQuery("textarea").wymeditor(\{ basePath: "[doc_base_url_common]/wymeditor/", iframeBasePath: "[doc_base_url]/var/", updateSelector : "form", updateEvent: 'submit' \}); \});</script>
[end]
[if winix_function_is "gallery"]
[if gallery_mount_type_arg_is "lightbox"]
[# https://lokeshdhakar.com/projects/lightbox2/ ]
[def winix_has_jquery true]
<script type="text/javascript" src="[doc_base_url_common]/jquery/1.12.4/jquery.min.js"></script>
<link rel="stylesheet" href="[doc_base_url_common]/lightbox/2.11.3/dist/css/lightbox.min.css" type="text/css">
<script src="[doc_base_url_common]/lightbox/2.11.3/dist/js/lightbox.min.js" type="text/javascript"></script>
[end]
[if gallery_mount_type_arg_is "galleriajs"]
[# https://galleriajs.github.io/ ]
[# formerly called aino-gallery ]
[def winix_has_jquery true]
<script type="text/javascript" src="[doc_base_url_common]/jquery/1.12.4/jquery.min.js"></script>
<script src="[doc_base_url_common]/galleriajs/1.6.1/dist/galleria.min.js" type="text/javascript"></script>
[end]
[end]
[if winix_function_is "upload"]
[# https://blueimp.github.io/jQuery-File-Upload/]
[# https://github.com/blueimp/jQuery-File-Upload]
[# Force latest IE rendering engine or ChromeFrame if installed]
<!--\[if IE\]>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<!\[endif\]-->
<link rel="stylesheet" href="[doc_base_url_common]/bootstrap/3.3.7/css/bootstrap.min.css">
[# in doc_base_url_common/jquery-file-upload/10.31.0_extra/blueimp-gallery/ is download_all_files.sh script in order to download all necessary files]
<!-- blueimp Gallery styles -->
<link rel="stylesheet" href="[doc_base_url_common]/jquery-file-upload/10.31.0_extra/blueimp-gallery/blueimp-gallery.min.css">
[# CSS to style the file input field as button and adjust the Bootstrap progress bars]
<link rel="stylesheet" href="[doc_base_url_common]/jquery-file-upload/10.31.0/css/jquery.fileupload.css">
<link rel="stylesheet" href="[doc_base_url_common]/jquery-file-upload/10.31.0/css/jquery.fileupload-ui.css">
[# CSS adjustments for browsers with JavaScript disabled]
<noscript>
<link rel="stylesheet" href="[doc_base_url_common]/jquery-file-upload/10.31.0/css/jquery.fileupload-noscript.css">
<link rel="stylesheet" href="[doc_base_url_common]/jquery-file-upload/10.31.0/css/jquery.fileupload-ui-noscript.css">
</noscript>
[def winix_has_jquery true]
<script src="[doc_base_url_common]/jquery/1.12.4/jquery.min.js"></script>
<!-- The jQuery UI widget factory, can be omitted if jQuery UI is already included -->
<script src="[doc_base_url_common]/jquery-file-upload/10.31.0/js/vendor/jquery.ui.widget.js"></script>
<!-- The Templates plugin is included to render the upload/download listings -->
<script src="[doc_base_url_common]/jquery-file-upload/10.31.0_extra/tmpl.min.js"></script>
<!-- The Load Image plugin is included for the preview images and image resizing functionality -->
<script src="[doc_base_url_common]/jquery-file-upload/10.31.0_extra/load-image.all.min.js"></script>
<!-- The Canvas to Blob plugin is included for image resizing functionality -->
<script src="[doc_base_url_common]/jquery-file-upload/10.31.0_extra/canvas-to-blob.min.js"></script>
<!-- blueimp Gallery script -->
<script src="[doc_base_url_common]/jquery-file-upload/10.31.0_extra/jquery.blueimp-gallery.min.js"></script>
<!-- The Iframe Transport is required for browsers without support for XHR file uploads -->
<script src="[doc_base_url_common]/jquery-file-upload/10.31.0/js/jquery.iframe-transport.js"></script>
<!-- The basic File Upload plugin -->
<script src="[doc_base_url_common]/jquery-file-upload/10.31.0/js/jquery.fileupload.js"></script>
<!-- The File Upload processing plugin -->
<script src="[doc_base_url_common]/jquery-file-upload/10.31.0/js/jquery.fileupload-process.js"></script>
<!-- The File Upload image preview & resize plugin -->
<script src="[doc_base_url_common]/jquery-file-upload/10.31.0/js/jquery.fileupload-image.js"></script>
<!-- The File Upload audio preview plugin -->
<script src="[doc_base_url_common]/jquery-file-upload/10.31.0/js/jquery.fileupload-audio.js"></script>
<!-- The File Upload video preview plugin -->
<script src="[doc_base_url_common]/jquery-file-upload/10.31.0/js/jquery.fileupload-video.js"></script>
<!-- The File Upload validation plugin -->
<script src="[doc_base_url_common]/jquery-file-upload/10.31.0/js/jquery.fileupload-validate.js"></script>
<!-- The File Upload user interface plugin -->
<script src="[doc_base_url_common]/jquery-file-upload/10.31.0/js/jquery.fileupload-ui.js"></script>
[if false]
[# the code to run the plugin we have in fun_upload.html]
<!-- The main application script -->
<!--
<script src="[doc_base_url_common]/jquery-file-upload/10.31.0/js/demo.js"></script>
-->
[end]
<!-- The XDomainRequest Transport is included for cross-domain file deletion for IE 8 and IE 9 -->
<!--\[if (gte IE 8)&(lt IE 10)\]>
<script src="[doc_base_url_common]/jquery-file-upload/10.31.0/js/cors/jquery.xdr-transport.js"></script>
<!\[endif\]-->
[end]
[if winix_function_is "sort"]
[if not request.is_item]
<script type="text/javascript" src="[doc_base_url_common]/winix/winix_sort.js"></script>
[end]
[end]
[if winix_function_is "imgcrop"]
[def winix_has_jquery true]
<script type="text/javascript" src="[doc_base_url_common]/jquery/1.12.4/jquery.min.js"></script>
<script type="text/javascript" src="[doc_base_url_common]/jcrop/0.9.15/js/jquery.Jcrop.min.js"></script>
<link type="text/css" rel="stylesheet" href="[doc_base_url_common]/jcrop/0.9.15/css/jquery.Jcrop.min.css">
[end]
[if winix_load_clocklet]
[# https://github.com/luncheon/clocklet ]
[# https://luncheon.github.io/clocklet/demo.html - color samples here too]
<link rel="stylesheet" href="[doc_base_url_common]/clocklet/0.3.0/clocklet.min.css">
<script src="[doc_base_url_common]/clocklet/0.3.0/clocklet.js"></script>
[if winix_clocklet_uikit_theme]
<link rel="stylesheet" href="[doc_base_url_common]/clocklet/0.3.0/uikit-theme.css">
[end]
[end]
[if winix_load_flatpickr]
[# date picker, time picker, date and time picker, date range picker (selecting time works only for the first day), available different themes ]
[# the datepicker on mobile devices is a native datepicker (this functionality can be disabled via disableMobile option) ]
[# https://flatpickr.js.org ]
[# https://github.com/flatpickr/flatpickr ]
[# options: https://flatpickr.js.org/options/ ]
<link rel="stylesheet" href="[doc_base_url_common]/flatpickr/4.6.9/flatpickr.min.css">
<script src="[doc_base_url_common]/flatpickr/4.6.9/flatpickr.js"></script>
[if is_not [lang "flatpickr_locale_url"] "none"]
<script src="[doc_base_url_common]/flatpickr/4.6.9/l10n/[lang "flatpickr_locale_url"]"></script>
<script>
flatpickr.localize(flatpickr.l10ns.{flatpickr_locale_config_prefix});
</script>
[end]
[if false]
[# can be inserted in this way: ]
<script>
flatpickr("#my-input-id", \{
\});
</script>
[end]
[end]
[if winix_load_litepicker]
[# date picker and date range picker ]
[# can show a dialog with more than one month, config parameters: numberOfColumns and numberOfMonths]
[# https://litepicker.com ]
[# https://github.com/wakirin/litepicker/ ]
[# options: https://litepicker.com/docs/options ]
[# in bundle.js there are all plugins, you can use litepicker.js to load the datepicker without plugins]
<script src="[doc_base_url_common]/litepicker/2.0.11/bundle.js"></script>
[if false]
[# can be inserted in this way: ]
<script>
const picker = new Litepicker(\{
element: document.getElementById('my-input-id'),
plugins: \['mobilefriendly'\],
lang: "{winix_html_lang_attr}"
\});
</script>
[end]
[end]
[if false]
[# temporarily blocked]
[if winix_has_plugin "stats"]
[include "stats_info.html"]
[end]
[end]