Inhoud

InlineJS Plugin

Compatibel met DokuWiki

2014-09-29, 2015-08-10, 2016-06-26, 2017-02-19

plugin Allow inline JavaScript and StyleSheet in wiki pages

Laatste update op
2019-10-05
Levert
Syntax, Helper, Action
Centrale opslag
Broncode

Deze uitbreiding is al meer dan 2 jaar niet meer geupdated. Misschien worden hij niet langer onderhouden of ondersteund. Er kunnen compatibiliteitsproblemen zijn.

Vergelijkbaar met jokuwiki

Gelabeld met javascript, style

Nodig voor canvas

Installation

Search and install the plugin using the Extension Manager. Refer to Plugins on how to install plugins manually.

Even though this plugin installed successfully, you may need additional configuration in the configuration manager in order to make the plugin effective (except Macro syntax). Please see Configuration and Settings section below.

Examples/Usage

This plugin was initially developed to incorporate some JavaScript Chart/Plot in a DokuWiki page. In such case, you may need to 1) load several library files in <head> section of HTML, 2) prepare chart box or canvas, and 3) write inline JavaScript to produce a chart.

The inlineJS plugin enables step 1) and 3) inside your DW page by “<PRELOAD>” and “<JS>” tag markup, respectively. For example, to draw a X-Y graph using jqPlot – a plotting and charting plugin for the jQuery JavaScript framework, the DW page source looks like:

<PRELOAD>
# Step 1: load several library files in <head> section
  /js/jquery.jqplot.css    # css
# /js/jquery.min.js (not required since DokuWiki 2012-01-25 Angua uses jQuery) 
  /js/jquery.jqplot.min.js # js
</PRELOAD>

<HTML>
<!-- Step 2 : prepare chart box (canvas) -->
<p>Figure. line chart example</p>
<div id="chartbox" style="width:300px; height:300px;"></div>
</HTML>

<JS>
// Step 3 : inline JavaScript to produce a chart
// ! do not forget to replace "$.jqplot" to "jQuery.jqplot"
var data = [[0,0.0],[1,1.0],[2,1.414],[5,2.236],[7,2.646],[11,3.317]];
jQuery.jqplot('chartbox', [data]);
</JS>

Syntax

PRELOAD tag

JavaScript and Stylesheet preloader in <head> section of HTML.

<PRELOAD>
/path/to/javascript.js
/path/to/stylesheet.css
<link rel="stylesheet" href="http://example.com/css?key=value">
</PRELOAD>

HTML output:

<head>
<script type="text/javascript" charset="utf-8" src="/path/to/javascript.js"></script>
<link rel="stylesheet" type="text/css" href="/path/to/stylesheet.css"/>
<link rel="stylesheet" type="text/css" href="http://example.com/css?key=value"/>
</head>

JS tag

Inline JavaScript embedder in <body> section of HTML.

<JS> ... </JS> or <js> ... </js>

HTML output:

<script type="text/javascript">
/*<![CDATA[*/
...
/*!]]>*/
</script>

CSS tag

<CSS> ... </CSS>

HTML output:

<style type="text/css">
<!--
...
-->
</style>

Configuration and Settings

By default, both “<JS>” and “<PRELOAD>” markup in the page will be ignored if htmlok is disabled in the configuration manager. The “follow_htmlok” option of this plugin is available to these markup effective independently from htmlok. The default value of “follow_htmlok” = 1.

Note that if embedding HTML using the “<html>” tag is allowed, users who can edit a page is also able to write inline JavaScript in the page without this plugin.

:!: This is a security risk when used on a freely accessible site because it enables Cross Site Scripting attacks! Prior to use this plugin, you are strongly recommended to refer htmlok, plugin_security and syntax pages.

Development

Change Log

ToDo

no plan…

Known Bugs and Issues

FAQ

Discussion