a JavaScript management plugin for Textpattern
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



I’m no longer able to develop this plugin due to ill health. If anyone would like to take over, message me, and I’ll transfer the source.

JavaScript management plugin for Textpattern.

Create, edit and delete scripts in Textpattern admin and export on save to external files.

REQUIRES: Texpattern 4.5.1 and PHP 5.

Please read the instructions and notes below before use.

A combination of two previously-released plugins: stm_javascript by Stanislav Müller and rvm_css by Ruud van Melick. Thanks to the original authors and to Jukka (Gocom) and Stef (Bloke) for invaluable feedback.

Features include exporting scripts as files to a directory, optional “type” attribute type="text/javascript" and changing the tag argument from n= to name= to bring it in line with default css syntax.

Re-written for Textpattern 4.5.1.

For Textpattern 4.4.1 and below use this version.

Now with support for Minify.



  1. Create a directory for the static JavaScript files in the root of your textpattern installation. You should make sure that PHP is able to write to that directory.
  2. Visit the Advanced Preferences (Admin > Preferences > Advanced) and make sure the “JavaScript directory” preference contains the directory you created in step 1 (by default ‘js’). This path is relative path to the directory of your root Textpattern installation.
  3. Activate this plugin.
  4. Go to Presentation > JavaScript and create JavaScripts you’d like to embed within your page templates.
  5. JavaScript files are stored in the database (for easy management and editing) and, on save, exported to a directory in your website where they can be referenced (as external JavaScript) with the tag below.
  6. For minification you must install Minify – just upload the ‘min’ directory to your web root for basic usage.


<txp:spf_js /> (embeds the default JavaScript file)

<txp:spf_js name="myscript" /> (embeds the JavaScript file named "myscript")

HTML output:

<script src="http://mysite.com/js/myscript.js"></script>

“type” attribute

By default the plugin outputs a script tag without the ""type" attribute":http://www.w3schools.com/html5/tag_script.asp (required in XHTML/HTML4 but optional in HTML5).

To include a “type” attribute just use the type="1" argument:

<txp:spf_js name="myscript" type="1" />


<script type="text/javascript" src="http://mysite.com/js/myscript.js"></script>

“min” attribute

You can now minify your JavaScripts dynamically requires Minify installed in the standard (DocumentRoot/min) location.

<txp:spf_js name="myscript" min="1" />


<script src="http://mysite.com/min/f=js/myscript.js"></script>

(Works with or without the “type” attribute.)


  1. Don’t use non-alphanumeric characters in script names (if you try to they’ll be stripped).
  2. The plugin will convert your script names to lowercase.
  3. The plugin will throw an error if you try to embed a non-existent script – similar to: Tag error: -> Textpattern Notice: The requested resource was not found. "script_name".
  4. — In which case check the script exists and your embed tag for typos.
  5. “min” attribute assumes Minify is installed in standard (DocumentRoot/min) location.


If stm_javascript is installed and activated you will see two JavaScript tabs in Presentation – one named ‘Javascript’ (stm_javascript – with lowercase ‘s’) and another ‘JavaScript’ (spf_js – uppercase ‘S’). You can copy and paste scripts from stm_javascript to spf_js – and then disable stm_javascript. It’s not advisable to run both plugins simultaneously.

Language support (Textpack)

This plugin uses an English Textpack by default and installs French (fr-fr), German (de-de) and Italian (it-it) Textpacks.

To use your own language see the spf_js_textpack file in this repository.

Version history

0.51 – November 2012

  • Fixed issue setting prefs in 4.5.×.

0.5 – November 2012

  • Rewritten for Textpattern 4.5.×.

0.41 – June 2012

  • Italian Textpack added (thanks Marco);
  • Last version to support Textpattern 4.4.1 and below.

0.4 – May 2012

0.3 – May 2012

  • Fixed delete issue with script names containing dots (thanks Yiannis).

0.2 – April 2012

  • French & German Textpacks added (thanks Patrick & Uli);
  • added compatibility with the syntax-highlighting spf_codemirror.

0.1 – April 2012

  • first release.