Jmol in Wikis and Blogs
Contents
Jmol and JSmol in Wikis and Blogs
Jmol in Wikis
Jmol (Java applet) can be embedded in wiki pages using special processors.
- For wikis based on MediaWiki, there is the Jmol Mediawiki Extension.
- For other wikis (MoinMoin, MoniWiki, UniWakka), Jmol Processors are available.
You can see a list of wikis that already use Jmol: Wikis Using Jmol.
JSmol in Wikis
JSmol (HTML5 modality) is being used at least in Proteopedia. It is used by default when you access Proteopedia pages from a mobile device (tablet). Reference article in Israel J. Chem.
Details will follow soon...
Jmol in Blogs
Jmol (Java applet) can be used in blogs, discussion boards and similar environments.
You can see a list of blogs that already use Jmol: Blogs Using Jmol.
Google Blogger
- Reported by Jan Jensen, 17 November, 2009:
I have blogged some instructions for using Jmol in Google Blogger. I have found two ways of doing it (besides he widget described below). I think the best way is the one I describe in the comments. Note that Jmol doesn't show up in Preview, so you have to publish the post to see how it looks.
WordPress
- Reported by Henry Rzepa, 16 November 2009:
I have blogged some instructions for using Jmol in Wordpress. There are various ways of doing so, but the one I used enables running fully functional scripts etc. There is one issue however, and that is the need to insert <script src="../Jmol/Jmol.js" type="text/javascript" /> into the style header. This gets over-written every time the instance of WordPress is updated.
- Reported by Pino Striccoli, 15 October 2010:
Having in mind the instruction written in Henry Rzepa's blog for Wordpress, I put the Jmol Applet inside wp-content directory together with all pdb files, using the ftp connection. The Jmol.js is also in the same wp-content. The link to Jmol, <script src="wp-content/Jmol.js" type="text/javascript" />
has to inserted in the header so that it is available in posts and pages too. When putting jmolInitialize()
the directory must be /wp-content
.
In my blog, I used the <applet>
tag, instead of jmolApplet
, because I am having a persistent error appletclass not found
.
MicroJmol
MicroJmol widget by Jeff Moore (Dept. Chemistry, University of Illinois at Urbana-Champaign): A portable version of Jmol viewer that loads the user-provided Jmol-readable file at startup. Used to share 3D structures on blogs, discussion boards and inside of other widgets that use the widgetbox. Instructions or comments can be added to the text field.
Uses this code:
<script src="http://cdn.widgetserver.com/syndication/subscriber/InsertWidget.js" type="text/javascript"> </script> <script> if (WIDGETBOX) WIDGETBOX.renderWidget('ec6af128-5436-4d7b-97c9-7f2f4b528859'); </script> <noscript> Get the <a href="http://www.widgetbox.com/widget/microjmol">MicroJmol</a> widget and many other <a href="http://www.widgetbox.com/">great free widgets</a> at <a href="http://www.widgetbox.com">Widgetbox</a>! Not seeing a widget? (<a href="http://docs.widgetbox.com/using-widgets/installing-widgets/why-cant-i-see-my-widget/">More info</a>) </noscript>
And, as a result, this kind of code gets inserted in the page:
<iframe hspace="0" vspace="0" marginheight="0" marginwidth="0" src="http://markup.widgetserver.com/syndication/get_widget.html? instructions=One%20of%20my%20favorite%20molecules... &bgcolor=%2366FFCC &Jmol_file=http%3A%2%2Fnetfiles.uiuc.edu%2Fjsmoore%2Fwww%2FJmolpages%2Fcaffeine.xyz &widget.appId=4e4d1afb-565c-4d70-9c6e-8c1c8b2894b3 &widget.regId=56b796d2-1b71-42ae-bcc1-ccc14fab461d &widget.friendlyId=microjmol &widget.name=MicroJmol &widget.token=4ea9b00c1b2c22e17a88ba756153e71526921144000001246889ecdf &widget.id=0 &widget.location=http%3A%2F%2Fwww.widgetbox.com%2Fwidget%2Fmicrojmol &widget.timestamp=1255889032432 &widget.serviceLevel=0 &widget.provServiceLevel=0 &widget.instServiceLevel=0 &widget.width=150 &widget.height=150 &widget.wrapper=JAVASCRIPT &widget.isAdFriendly=true &widget.isAdEnabled=true &widget.adChannels=137%3D125x125 &widget.adPlacement= &widget.output=htmlcontent " border="0" id="widgetbox_widget_iframe_0" name="widgetbox_widget_iframe_0" frameborder="0" height="150" width="150" scrolling="no" > </iframe>
JSmol in Blogs
JSmol (HTML5 modality) used in blogs:
WordPress
- Reported by Pino Striccoli, 11 October 2013:
To implement JSmol in Wordpress (sample page) I inserted the folloqing code in HEADER
<script type="text/javascript" src="http://myserver.com/wp-content/JSmol.min.nojq.js"></script> <script type="text/javascript" src="http://myserver.com/wp-content/Jmol2.js"></script>
wp-content is the directory where I put the two js files.
I use the version of JSmol without its jQuery and using the jQuery coming with Wordpress.
Jmol2.js is used so that I don't need to change the code of buttons and links. (I always used the applet tag of HTML).
jsmol.php must be put in wp-content for a total functionality of JSmol with different files.
The following script has been placed always in HEADER
because it is widely used in blog, but it can be put also in single post or page.
<script> var Info = { width: 350, height: 350, serverURL: "http://myserver.com/wp-content/jsmol.php", use: "HTML5", j2sPath: "html5/j2s", console: "jmolApplet0_infodiv", script: "load wp-content/alpha.pdb; background black" } </script>
The files needed to have JSmol working are placed in a directory outside the Wordpress installation that in my case is called html5. I suppose that they can be placed in wp-content as well: in this case the j2spath
must be changed accordingly.
The data files are placed in wp-content or in its subdirectory.
Inside the post then I used the script to insert the JSmol object:
<script type="text/javascript">// <![CDATA[ // note that the variable name MUST match the first parameter in quotes jmolApplet0 = Jmol.getApplet("jmolApplet0", Info) // note that now scripts can be sent immediately after the _Applet object is created // ]]></script>.
When I wanted to format the applet I had to use a custom css piece applied to <canvas> tag. In my case I put
#jmolApplet0_appletinfotablediv{ float:left; }
Another issue when using wordpress is the editor used. Use always editor in text format and do not switch to visual editor. The visual editor seems not to see the code in the script in correct way. Be sure that the lines of the code included in script tag are not jammed together on the same line.
Tumblr
I use JSmol to post my crystal structures on Tumblr. I have the following extra lines in the header:
<script type="text/javascript" src="http://www.proteopedia.org/wiki/extensions/jsmol/JSmol.min.js"> </script>
This loads JSmol from the proteopedia wiki, since I don't want to host JSmol myself. For the blog post I change to html editing mode and insert the following code:
<script type="text/javascript"> var myJmol; var Info = { width: 600, height: 600, debug: false, color: "#eeffff", serverURL: "http://www.proteopedia.org/wiki/extensions/jsmol/php/jsmol.php", jarFile: "JmolApplet.jar", jarPath: '..', j2sPath: "http://www.proteopedia.org/wiki/extensions/jsmol/j2s", use: "HTML5", script: "script http://myserver/jmol_script_file", disableJ2SLoadMonitor: true, disableInitialConsole: true, allowJavaScript: true, console: "none", } myJmol = Jmol.getApplet("myJmol", Info); </script>
The most important line is the one that begins with the "script:", here you have to give the link to the JSmol script file. And voila it works.
Contributors
AngelHerraez, Tothsa, Pinostriccoli, Jaime Prilusky, Jhjensen, Fuse809, JimHu, Rzepa