The best way to collect debugging information is to build the site locally. However if that isn’t an option, this page documents tags which can be helpful.
Echo
This echo
include just prints its arguments, for debugging/learning purposes. This can be helpful in understanding Liquid syntax and how strings are being read internally by an include
.
Arguments are printed as a comma-separated list of "argument"==>"value"
pairs.
Note that liquid allows the passing of arbitrary arguments to include
templates. All these arguments will be stored, but won’t have any effect unless the include
’s source actually does something with those arguments.
{"content"=>"This is the content argument", "bracket"=>"what if I pass {}?", "gorilla"=>"Why do we have a gorilla argument?"}
What’s in a page
?
Ever wonder what all is part of the page
data structure? Let’s find out!
(You can also do this with the site
data structure, but be warned: the output will include every page body across the whole site!)
{"p"=>{
"path": "_pages/editing/debugging.md",
"relative_path": "_pages/editing/debugging.md",
"excerpt": "<p>The best way to collect debugging information is to <a href=\"/editing/advanced\">build the site locally</a>. However if that isn’t an option, this page documents tags which can be helpful.</p>\n\n",
"previous": {
"path": "_pages/editing/code.md",
"relative_path": "_pages/editing/code.md",
"excerpt": "<p>This page describes nice ways of embedding source code in a page.</p>\n\n",
"previous": {
"path": "_pages/editing/citations.md",
"relative_path": "_pages/editing/citations.md",
"excerpt": "<p>There are two kinds of sources which can be cited:</p>\n\n",
"previous": {
"path": "_pages/editing/buttons.md",
"relative_path": "_pages/editing/buttons.md",
"id": "/editing/buttons",
"collection": "pages",
"url": "/editing/buttons",
"draft": false,
"categories": [
],
"layout": "page",
"icon": "/media/icons/imagej2.png",
"title": "Buttons",
"section": "Contribute:Editing the Wiki",
"nav-links": true,
"slug": "buttons",
"ext": ".md",
"tags": [
],
"date": "2024-11-17 22:07:46 +0000"
},
"id": "/editing/citations",
"collection": "pages",
"next": {
"path": "_pages/editing/code.md",
"relative_path": "_pages/editing/code.md",
"id": "/editing/code",
"collection": "pages",
"url": "/editing/code",
"draft": false,
"categories": [
],
"layout": "page",
"icon": "/media/icons/imagej2.png",
"title": "Source Code",
"section": "Contribute:Editing the Wiki",
"nav-links": true,
"slug": "code",
"ext": ".md",
"tags": [
],
"date": "2024-11-17 22:07:46 +0000"
},
"output": "<!DOCTYPE html>\n<html>\n <head>\n <title>Citations</title>\n <meta charset=\"utf-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, maximum-scale=3\" />\n <meta content=\"ImageJ Wiki\" property=\"og:site_name\">\n <meta content=\"Citations\" property=\"og:title\">\n <meta content=\"article\" property=\"og:type\">\n <meta content=\"This page demonstrates how to cite sources.\" property=\"og:description\">\n <meta content=\"https://imagej.github.io/editing/citations\" property=\"og:url\">\n <meta content=\"https://imagej.github.io/media/icons/imagej2.png\" property=\"og:image\">\n <link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"/apple-touch-icon.png\">\n <link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/favicon-32x32.png\">\n <link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/favicon-16x16.png\">\n <link rel=\"manifest\" href=\"/site.webmanifest\">\n <link rel=\"mask-icon\" href=\"/safari-pinned-tab.svg\" color=\"#5bbad5\">\n <meta name=\"msapplication-TileColor\" content=\"#da532c\">\n <meta name=\"theme-color\" content=\"#ffffff\">\n <link rel=\"stylesheet\" href=\"/assets/css/lightbox.min.css\" />\n <link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/instantsearch.css@7/themes/algolia-min.css\"/>\n <script type=\"text/javascript\" src=\"https://cdn.jsdelivr.net/npm/dygraphs@2.1.0/dist/dygraph.min.js\"></script>\n <link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/dygraphs@2.1.0/dist/dygraph.min.css\" />\n <link rel=\"stylesheet\" href=\"/assets/css/main.css\" />\n <link rel=\"stylesheet\" href=\"/assets/css/layout.css\"/>\n <link rel=\"stylesheet\" href=\"/assets/css/includes.css\" />\n <link rel=\"stylesheet\" href=\"/assets/css/timeline.css\"/>\n <link rel=\"stylesheet\" href=\"/assets/css/dock.css\"/>\n <noscript><link rel=\"stylesheet\" href=\"/assets/css/noscript.css\" /></noscript>\n <link rel=\"stylesheet\" href=\"/assets/css/page.css\" />\n </head>\n <body class=\"is-preload\">\n <!-- Top bar -->\n <section id=\"top-bar\">\n <a href=\"/\"><img id=\"site-logo\" src=\"/media/icons/imagej2.png\"></a>\n <div id=\"search-panel\">\n <div id=\"search-box\"></div>\n </div>\n</section>\n\n <!-- Page-info -->\n <div class=\"page-info\"> \n <a href=\"https://github.com/imagej/imagej.github.io/commits/main/_pages/editing/citations.md\">Page history</a>\n <a href=\"https://github.com/imagej/imagej.github.io/edit/main/_pages/editing/citations.md\">Edit this page</a>\n <a href=\"/editing\">How do I edit this website?</a></div>\n\n <section id=\"left-column\" class=\"sidebar dock\">\n <!-- Menu -->\n <div class=\"menu dockable\">\n <div class=\"drag-handle\"></div><h3>ImageJ Docs</h3>\n <ul>\n <li><a href=\"/downloads\">Download</a></li>\n\n <li><details><summary>Learn</summary><ul>\n <li><details><summary><a href=\"/learn\">ImageJ Basics</a></summary><ul>\n <li><a href=\"/tutorials\">Tutorials</a></li>\n <li><a href=\"/learn/user-guides\">User Guides</a></li>\n <li><a href=\"/learn/keyboard-shortcuts\">Keyboard Shortcuts</a></li>\n <li><a href=\"/learn/tips-and-tricks\">Tips and Tricks</a></li>\n <li><a href=\"/learn/troubleshooting\">Troubleshooting</a></li>\n <li><a href=\"/learn/faq\">Frequently Asked Questions</a></li>\n\n <li><details><summary><a href=\"/platforms\">Supported Platforms</a></summary><ul>\n <li><a href=\"/platforms/windows\">Windows</a></li>\n <li><a href=\"/platforms/macos\">MacOS</a></li>\n <li><a href=\"/platforms/linux\">Linux</a></li>\n <li><a href=\"/platforms/pi\">Raspberry Pi</a></li>\n <li><a href=\"/platforms/android\">Android</a></li>\n </ul></details></li> <!-- Learn/ImageJ Basics/Supported Platforms -->\n\n <li><details><summary><a href=\"/formats\">File Formats</a></summary><ul>\n <li><a href=\"/formats/bio-formats\">Bio-Formats</a></li>\n <li><a href=\"/formats/video\">Video formats</a></li>\n <li><a href=\"/formats/quicktime\">QuickTime</a></li>\n <li><a href=\"/formats/tiff\">TIFF</a></li>\n <li><a href=\"/formats/pdf\">PDF</a></li>\n <li><a href=\"/formats/dicom\">DICOM</a></li>\n <li><a href=\"/formats/lsm\">Zeiss LSM</a></li>\n <li><a href=\"/formats/olympus\">Olympus VSI</a></li>\n <li><a href=\"/formats/lurawave\">Opera Flex</a></li>\n <li><a href=\"/formats/fib-sem\">FIB-SEM</a></li>\n </ul></details></li> <!-- Learn/ImageJ Basics/File Formats -->\n </ul></details></li> <!-- Learn/ImageJ -->\n\n <li><details><summary><a href=\"/imaging\">Scientific Imaging</a></summary><ul>\n <li><a href=\"/imaging/principles\">Principles of Scientific Imaging</a></li>\n <li><a href=\"/imaging/annotating-images\">Annotating Images</a></li>\n <li><a href=\"/imaging/colocalization-analysis\">Colocalization</a></li>\n <li><a href=\"/imaging/color-image-processing\">Color Image Processing</a></li>\n <li><a href=\"/imaging/deconvolution\">Deconvolution</a></li>\n <li><a href=\"/imaging/image-intensity-processing\">Image Intensity Processing</a></li>\n <li><a href=\"/imaging/particle-analysis\">Particle Analysis</a></li>\n <li><a href=\"/imaging/registration\">Registration</a></li>\n <li><a href=\"/imaging/segmentation\">Segmentation</a></li>\n <li><a href=\"/imaging/stack-slice-manipulations\">Stack-slice Manipulations</a></li>\n <li><a href=\"/imaging/t-functions\">T-functions</a></li>\n <li><a href=\"/imaging/tracking\">Tracking</a></li>\n <li><a href=\"/imaging/visualization\">Visualization</a></li>\n <li><a href=\"/imaging/z-functions\">Z-functions</a></li>\n </ul></details></li> <!-- Learn/Scientific Imaging -->\n </ul></details></li> <!-- Learn -->\n\n <li><details><summary><a href=\"/plugins\">Extend</a></summary><ul>\n <li><a href=\"/list-of-extensions\">List of Extensions</a></li>\n\n <li><details><summary><a href=\"/update-sites\">Update Sites</a></summary><ul>\n <li><a href=\"/list-of-update-sites\">List of Update Sites</a></li>\n <li><a href=\"/update-sites/following\">Following an Update Site</a></li>\n <li><a href=\"/update-sites/setup\">Creating an Update Site</a></li>\n <li><a href=\"/update-sites/tos\">Terms of Service</a></li>\n <li><a href=\"/update-sites/automatic-uploads\">Automatic Upload</a></li>\n <li><a href=\"/update-sites/core-uploads\">Uploading to Core Sites</a></li>\n <li><a href=\"/update-sites/faq\">Update Sites FAQ</a></li>\n <li><a href=\"/update-sites/stats\">Statistics</a></li>\n </ul></details></li> <!-- Extend/Update Sites -->\n\n <li><details><summary><a href=\"/scripting\">Scripting</a></summary><ul>\n <li><a href=\"/scripting/basics\">Scripting Basics</a></li>\n <li><a href=\"/scripting/script-editor\">Script Editor</a></li>\n <li><a href=\"/scripting/parameters\">Parameters</a></li>\n <li><a href=\"/scripting/user-input\">User Input</a></li>\n <li><a href=\"/scripting/auto-imports\">Auto Import</a></li>\n <li><a href=\"/scripting/templates\">Templates</a></li>\n <li><a href=\"/scripting/batch\">Batch Processing</a></li>\n <li><a href=\"/scripting/headless\">Running Headlessly</a></li>\n <li><a href=\"/scripting/comparisons\">Scripting Comparisons</a></li>\n <li><a href=\"/scripting/toolbox\">Toolbox</a></li>\n\n <li><details><summary>Languages</summary><ul>\n <li><a href=\"/scripting/beanshell\">BeanShell Scripting</a></li>\n <li><a href=\"/scripting/groovy\">Groovy Scripting</a></li>\n <li><a href=\"/scripting/macro\">ImageJ Macro</a></li>\n <li><a href=\"/scripting/javascript\">JavaScript</a></li>\n <li><a href=\"/scripting/clojure\">Lisp (Clojure)</a></li>\n <li><a href=\"/scripting/matlab\">MATLAB</a></li>\n <li><a href=\"/scripting/jython\">Python (Jython)</a></li>\n <li><a href=\"/scripting/python\">Python (native)</a></li>\n <li><a href=\"/scripting/renjin\">R (Renjin)</a></li>\n <li><a href=\"/scripting/jruby\">Ruby (JRuby)</a></li>\n <li><a href=\"/scripting/scala\">Scala Scripting</a></li>\n </ul></details></li> <!-- Extend/Scripting/Languages -->\n </ul></details></li> <!-- Extend/Scripting -->\n\n <li><details><summary><a href=\"/develop\">Development</a></summary><ul>\n <li><a href=\"/develop/philosophy\">Philosophy</a></li>\n <li><a href=\"/develop/architecture\">Architecture</a></li>\n <li><a href=\"/develop/source\">Source code</a></li>\n <li><a href=\"/develop/project-management\">Project management</a></li>\n <li><a href=\"/develop/coding-style\">Coding style</a></li>\n <li><a href=\"/develop/javadoc\">Using Javadoc</a></li>\n <li><a href=\"/develop/debugging\">Debugging</a></li>\n <li><a href=\"/develop/wish-list\">Wish list</a></li>\n\n <li><details><summary>Tools</summary><ul>\n <li><a href=\"/develop/github\">GitHub</a></li>\n <li><a href=\"/develop/maven\">Maven</a></li>\n <li><a href=\"/develop/ci\">CI/CD</a></li>\n <li><a href=\"/develop/dotfiles\">Dotfiles</a></li>\n\n <li><details><summary><a href=\"/develop/ides\">IDEs</a></summary><ul>\n <li><a href=\"/develop/eclipse\">Eclipse</a></li>\n <li><a href=\"/develop/netbeans\">NetBeans</a></li>\n <li><a href=\"/develop/intellij\">IntelliJ IDEA</a></li>\n <li><a href=\"/develop/command-line\">Command Line</a></li>\n </ul></details></li>\n </ul></details></li> <!-- Extend/Development/Tools -->\n\n <li><details><summary>Guides</summary><ul>\n <li><a href=\"/develop/plugins\">Writing plugins</a></li>\n <li><a href=\"/develop/improving-the-code\">Contributing to a plugin</a></li>\n <li><a href=\"/develop/releasing\">Development lifecycle</a></li>\n <li><a href=\"/develop/building-a-pom\">Building a POM</a></li>\n <li><a href=\"/develop/debugging-exercises\">Hands-on debugging</a></li>\n <li><a href=\"/develop/writing-ops\">Adding new ops</a></li>\n <li><a href=\"/develop/formats\">Adding new formats</a></li>\n <li><a href=\"/develop/native-libraries\">Using native libraries</a></li>\n <li><a href=\"/develop/tips\">Tips for developers</a></li>\n <li><a href=\"/develop/cpp-tips\">Tips for C++ developers</a></li>\n <li><a href=\"/develop/ij1-plugins\">ImageJ 1.x plugins</a></li>\n <li><a href=\"/develop/versioning\">Versioning</a></li>\n <li><a href=\"/develop/logging\">Logging</a></li>\n <li><a href=\"/develop/uber-jars\">Uber-JARs</a></li>\n </ul></details></li> <!-- Extend/Development/Guides -->\n\n <li><details><summary><a href=\"/develop/git\">Git</a></summary><ul>\n <li><a href=\"/develop/git/eclipse\">Git in Eclipse (EGit)</a></li>\n <li><a href=\"/develop/git/mini-howto\">Git mini howto</a></li>\n <li><a href=\"/develop/git/workshop\">Git workshop</a></li>\n <li><a href=\"/develop/git/conflicts\">Git conflicts</a></li>\n <li><a href=\"/develop/git/topic-branches\">Git topic branches</a></li>\n <li><a href=\"/develop/git/notes\">Git notes</a></li>\n <li><a href=\"/develop/git/reflogs\">Git reflogs</a></li>\n <li><a href=\"/develop/git/submodules\">Git submodules</a></li>\n <li><a href=\"/develop/git/pinpoint-regressions\">How to pinpoint regressions</a></li>\n <li><a href=\"/develop/git/publish-a-repository\">How to publish a git repository</a></li>\n <li><a href=\"/develop/git/extract-a-subproject\">How to extract a subproject</a></li>\n </ul></details></li> <!-- Extend/Development/Git -->\n </ul></details></li> <!-- Extend/Development -->\n </ul></details></li> <!-- Extend -->\n\n <li><details open><summary><a href=\"/contribute\">Contribute</a></summary><ul>\n <li><a href=\"/contribute/citing\">Citing</a></li>\n <li><a href=\"/people\">Contributors</a></li>\n <li><a href=\"/orgs\">Organizations</a></li>\n <li><a href=\"/contribute/governance\">Governance</a></li>\n <li><a href=\"/contribute/funding\">Funding</a></li>\n <li><a href=\"/contribute/fiji\">Contributing to Fiji</a></li>\n\n <li><details><summary><a href=\"/licensing\">Licensing</a></summary><ul>\n <li><details><summary><a href=\"/licensing/open-source\">Open Source</a></summary><ul>\n <li><a href=\"/licensing/apache\">Apache</a></li>\n <li><a href=\"/licensing/bsd\">BSD</a></li>\n <li><a href=\"/licensing/epl\">EPL</a></li>\n <li><a href=\"/licensing/gpl\">GPL</a></li>\n <li><a href=\"/licensing/lgpl\">LGPL</a></li>\n <li><a href=\"/licensing/mit\">MIT</a></li>\n <li><a href=\"/licensing/public-domain\">Public domain</a></li>\n <li><a href=\"/licensing/big\">BIG</a></li>\n </ul></details></li> <!-- Contribute/Licensing/Open Source -->\n\n <li><a href=\"/licensing/closed-source\">Proprietary</a></li>\n </ul></details></li> <!-- Contribute/Licensing -->\n\n <li><details open><summary><a href=\"/editing\">Editing the Wiki</a></summary><ul>\n <li><a href=\"/editing/advanced\">Advanced Editing</a></li>\n <li><a href=\"/editing/buttons\">Buttons</a></li>\n <li><a class=\"current-page\">Citations</a></li>\n <li><a href=\"/editing/code\">Source Code</a></li>\n <li><a href=\"/editing/debugging\">Debugging</a></li>\n <li><a href=\"/editing/headers\">Headers</a></li>\n <li><a href=\"/editing/icons\">Icons</a></li>\n <li><a href=\"/editing/images\">Images</a></li>\n <li><a href=\"/editing/keys\">Keyboard Shortcuts</a></li>\n <li><a href=\"/editing/linking\">Linking</a></li>\n <li><a href=\"/editing/math\">Math Expressions</a></li>\n <li><a href=\"/editing/menu-paths\">Menu Paths</a></li>\n <li><a href=\"/editing/navigation\">Navigation</a></li>\n <li><a href=\"/editing/notices\">Notices</a></li>\n <li><a href=\"/editing/people\">People</a></li>\n <li><a href=\"/editing/pitfalls\">Pitfalls</a></li>\n <li><a href=\"/editing/quizzes\">Quizzes</a></li>\n <li><a href=\"/editing/statbox\">Statbox</a></li>\n <li><a href=\"/editing/symbols\">Symbols</a></li>\n <li><a href=\"/editing/tables\">Tables</a></li>\n <li><a href=\"/editing/timelines\">Timelines</a></li>\n <li><a href=\"/editing/tooltips\">Tooltips</a></li>\n <li><a href=\"/editing/videos\">Videos</a></li>\n <li><a href=\"/editing/whitespace\">Whitespace</a></li>\n </ul></details></li> <!-- Contribute/Editing the Wiki -->\n </ul></details></li> <!-- Contribute -->\n\n <li><details><summary><a href=\"/discuss\">Discuss</a></summary><ul>\n <li><a href=\"/discuss/bugs\">Reporting Issues</a></li>\n <li><a href=\"/discuss/mailing-lists\">Mailing Lists</a></li>\n <li><a href=\"/discuss/chat\">Chat</a></li>\n </ul></details></li> <!-- Discuss -->\n\n <li><details><summary>Explore</summary><ul>\n <li><a href=\"/news\">News</a></li>\n\n <li><details><summary><a href=\"/events\">Events</a></summary><ul>\n <li><a href=\"/events/presentations\">Presentations</a></li>\n <li><a href=\"/events/conferences\">Conferences</a></li>\n <li><a href=\"/events/hackathons\">Hackathons</a></li>\n <li><a href=\"/events\">More...</a></li>\n </ul></details></li> <!-- Discuss/Events -->\n\n <li><details><summary><a href=\"/libs\">Libraries</a></summary><ul>\n <li><a href=\"/libs/imagej-ops\">ImageJ Ops</a></li>\n <li><a href=\"/libs/imagej-common\">ImageJ Common</a></li>\n <li><a href=\"/libs/imagej-legacy\">ImageJ Legacy</a></li>\n <li><a href=\"/libs/scijava\">SciJava</a></li>\n <li><a href=\"/libs/scifio\">SCIFIO</a></li>\n\n <li><details><summary><a href=\"/libs/imglib2\">ImgLib2</a></summary><ul>\n <li><a href=\"/libs/imglib2/getting-started\">Getting Started</a></li>\n <li><a href=\"/libs/imglib2/accessors\">Accessors</a></li>\n <li><a href=\"/libs/imglib2/accessibles\">Accessibles</a></li>\n <li><a href=\"/libs/imglib2/examples\">Examples</a></li>\n <li><a href=\"/libs/imglib2/workshop-introductory\">Introductory Workshop</a></li>\n <li><a href=\"/libs/imglib2/workshop-advanced\">Advanced Workshop</a></li>\n <li><a href=\"/libs/imglib2/matlab\">ImgLib2 images in MATLAB</a></li>\n <li><a href=\"/libs/imglib2/benchmarks\">Benchmarks</a></li>\n <li><a href=\"/libs/imglib2/faq\">FAQ</a></li>\n <li><a href=\"/libs/imglib2/developing\">Developing ImgLib2</a></li>\n <li><a href=\"/libs/imglib2/discussion\">ImgLib2 Discussion</a></li>\n </ul></details></li> <!-- Explore/Libraries/ImgLib2 -->\n \n <li><a href=\"/libs\">More...</a></li>\n </ul></details></li> <!-- Explore/Libraries -->\n\n <li><details><summary><a href=\"/software\">Software</a></summary><ul>\n <li><a href=\"/software/nih-image\">NIH Image</a></li>\n <li><a href=\"/software/imagej\">ImageJ</a></li>\n <li><a href=\"/software/imagej2\">ImageJ2</a></li>\n <li><a href=\"/software/fiji\">Fiji</a></li>\n <li><a href=\"/software\">More...</a></li>\n </ul></details></li> <!-- Explore/Software -->\n </ul></details></li> <!-- Explore -->\n </ul>\n </div>\n </section>\n\n <section id=\"right-column\" class=\"sidebar dock\">\n <!-- Vital stats -->\n \n\n <!-- Table of contents -->\n <div id=\"toc\" class=\"toc menu dockable\">\n <div class=\"drag-handle\"></div>\n <h3>Page contents</h3>\n <ul data-toc=\"#content\" data-toc-headings=\"h1,h2,h3,h4,h5,h6\"></ul>\n </div>\n </section>\n\n <!-- Page title -->\n <div class=\"container\">\n <header class=\"major special\">\n <h1>Citations</h1>\n </header>\n </div>\n\n <!-- Nav bar -->\n <div id=\"nav-bar\"><ul class=\"shadowed-box\"><li><a href=\"/editing/index\">Introduction</a></li><li><a href=\"/editing/advanced\">Advanced Editing</a></li><li><a href=\"/editing/buttons\">Buttons</a></li><li>Citations</li><li><a href=\"/editing/code\">Source Code</a></li><li><a href=\"/editing/debugging\">Debugging</a></li><li><a href=\"/editing/dokuwiki-migration\">DokuWiki Migration</a></li><li><a href=\"/editing/headers\">Headers</a></li><li><a href=\"/editing/icons\">Icons</a></li><li><a href=\"/editing/images\">Images</a></li><li><a href=\"/editing/keys\">Keyboard Shortcuts</a></li><li><a href=\"/editing/linking\">Linking</a></li><li><a href=\"/editing/math\">Math Expressions</a></li><li><a href=\"/editing/menu-paths\">Menu Paths</a></li><li><a href=\"/editing/navigation\">Navigation</a></li><li><a href=\"/editing/notices\">Notices</a></li><li><a href=\"/editing/people\">People</a></li><li><a href=\"/editing/pitfalls\">Pitfalls</a></li><li><a href=\"/editing/quizzes\">Quizzes</a></li><li><a href=\"/editing/statbox\">Statbox</a></li><li><a href=\"/editing/symbols\">Symbols</a></li><li><a href=\"/editing/tables\">Tables</a></li><li><a href=\"/editing/timelines\">Timelines</a></li><li><a href=\"/editing/tooltips\">Tooltips</a></li><li><a href=\"/editing/videos\">Videos</a></li><li><a href=\"/editing/whitespace\">Whitespace</a></li></ul></div>\n\n <!-- Main content -->\n <section id=\"page\" class=\"main style1\">\n <div class=\"container\">\n <div class=\"box alt\"></div>\n <div id=\"content\" class=\"page-content\">\n \n <p>There are two kinds of sources which can be cited:</p>\n\n<table>\n <tbody>\n <tr>\n <td><code class=\"language-plaintext highlighter-rouge\">include citation</code></td>\n <td>cite a publication</td>\n </tr>\n <tr>\n <td><code class=\"language-plaintext highlighter-rouge\">include testimonial</code></td>\n <td>insert a personal quote from a <a href=\"/people\">person</a></td>\n </tr>\n </tbody>\n</table>\n\n<h1 id=\"citing-publications\">Citing publications</h1>\n\n<p>The <code class=\"language-plaintext highlighter-rouge\">citation</code> include is used to cite a publication.</p>\n\n<h2 id=\"citing-by-doi\">Citing by DOI</h2>\n\n<div class=\"example\">\n<div>\n<p>Code</p>\n\n<figure class=\"highlight\"><pre><code class=\"language-liquid\" data-lang=\"liquid\"><span class=\"p\">{%</span><span class=\"w\"> </span><span class=\"nt\">include</span><span class=\"w\"> </span><span class=\"nv\">citation</span><span class=\"w\"> </span><span class=\"na\">doi</span><span class=\"o\">=</span><span class=\"s1\">'10.1038/514550a'</span><span class=\"w\"> </span><span class=\"p\">%}</span></code></pre></figure>\n\n</div>\n<div>\n<p>Result</p>\n<div>\n\n <p><span class=\"citation\" data-citation-id=\"10.1038/514550a\" data-citation-style=\"apa\"><a href=\"https://doi.org/10.1038/514550a\">doi:10.1038/514550a</a></span></p>\n\n </div>\n</div>\n</div>\n\n<h3 id=\"citation-styles\">Citation styles</h3>\n\n<p>The default citation style is APA, but Harvard and Vancouver styles are also supported:</p>\n\n<div class=\"example\">\n<div>\n<p>Code</p>\n\n<figure class=\"highlight\"><pre><code class=\"language-liquid\" data-lang=\"liquid\"><span class=\"p\">{%</span><span class=\"w\"> </span><span class=\"nt\">include</span><span class=\"w\"> </span><span class=\"nv\">citation</span><span class=\"w\"> </span><span class=\"na\">doi</span><span class=\"o\">=</span><span class=\"s1\">'10.1038/514550a'</span><span class=\"w\"> </span><span class=\"na\">style</span><span class=\"o\">=</span><span class=\"s1\">'harvard1'</span><span class=\"w\"> </span><span class=\"p\">%}</span></code></pre></figure>\n\n</div>\n<div>\n<p>Result</p>\n<div>\n\n <p><span class=\"citation\" data-citation-id=\"10.1038/514550a\" data-citation-style=\"harvard1\"><a href=\"https://doi.org/10.1038/514550a\">doi:10.1038/514550a</a></span></p>\n\n </div>\n</div>\n</div>\n\n<div class=\"example\">\n<div>\n<p>Code</p>\n\n<figure class=\"highlight\"><pre><code class=\"language-liquid\" data-lang=\"liquid\"><span class=\"p\">{%</span><span class=\"w\"> </span><span class=\"nt\">include</span><span class=\"w\"> </span><span class=\"nv\">citation</span><span class=\"w\"> </span><span class=\"na\">doi</span><span class=\"o\">=</span><span class=\"s1\">'10.1038/514550a'</span><span class=\"w\"> </span><span class=\"na\">style</span><span class=\"o\">=</span><span class=\"s1\">'vancouver'</span><span class=\"w\"> </span><span class=\"p\">%}</span></code></pre></figure>\n\n</div>\n<div>\n<p>Result</p>\n<div>\n\n <p><span class=\"citation\" data-citation-id=\"10.1038/514550a\" data-citation-style=\"vancouver\"><a href=\"https://doi.org/10.1038/514550a\">doi:10.1038/514550a</a></span></p>\n\n </div>\n</div>\n</div>\n\n<div class=\"notice\" style=\"font-size: 2; background: #e6e6e6; border-left: 10px solid #bdbdbd\"><div class=\"notice-icon\"><img src=\"/media/icons/tech.png\" /></div><div class=\"notice-content\"><p>All of these features are driven by the\n <a href=\"https://citation.js.org/\">citation-js</a> library,\n which is very powerful, even supporting\n <a href=\"https://github.com/citation-js/citation-js/blob/3f3eee0813c7d578a454c34e402fa342d0693cfa/packages/plugin-csl/README.md#templates\">your own custom CSL template</a>,\n if you having extra time burning a hole in your continuum.</p>\n</div>\n</div>\n\n<h2 id=\"citing-by-wiki-page-url\">Citing by wiki page URL</h2>\n\n<div class=\"example\">\n<div>\n<p>Code</p>\n\n<figure class=\"highlight\"><pre><code class=\"language-liquid\" data-lang=\"liquid\"><span class=\"p\">{%</span><span class=\"w\"> </span><span class=\"nt\">include</span><span class=\"w\"> </span><span class=\"nv\">citation</span><span class=\"w\"> </span><span class=\"na\">id</span><span class=\"o\">=</span><span class=\"s2\">\"plugins/3d-viewer\"</span><span class=\"w\"> </span><span class=\"p\">%}</span></code></pre></figure>\n\n</div>\n<div>\n<p>Result</p>\n<div>\n\n <p><span class=\"citation\" data-citation-id=\"10.1186/1471-2105-11-274\" data-citation-style=\"apa\"><a href=\"https://doi.org/10.1186/1471-2105-11-274\">doi:10.1186/1471-2105-11-274</a></span></p>\n\n </div>\n</div>\n</div>\n\n<p>The DOI used is pulled from the front matter of the given wiki page URL.</p>\n\n<div class=\"notice\" style=\"font-size: 2; background: #dedede; border-left: 10px solid #7e7e7e\"><div class=\"notice-icon\"><span class=\"\">💡</span></div><div class=\"notice-content\">\n<p>If you want to cite the publication(s) associated with the current page, you\ncan simply write <code class=\"language-plaintext highlighter-rouge\">{% include citation %}</code> with no\narguments, and the DOI will be pulled from the front matter at the top.</p>\n</div>\n</div>\n\n<h3 id=\"multiple-citations\">Multiple citations</h3>\n\n<p>Some wiki pages have multiple publications associated with them.\nIn that case, all citations will be shown in the list:</p>\n\n<div class=\"example\">\n<div>\n<p>Code</p>\n\n<figure class=\"highlight\"><pre><code class=\"language-liquid\" data-lang=\"liquid\"><span class=\"p\">{%</span><span class=\"w\"> </span><span class=\"nt\">include</span><span class=\"w\"> </span><span class=\"nv\">citation</span><span class=\"w\"> </span><span class=\"na\">id</span><span class=\"o\">=</span><span class=\"s2\">\"software/cellprofiler\"</span><span class=\"w\"> </span><span class=\"p\">%}</span></code></pre></figure>\n\n</div>\n<div>\n<p>Result</p>\n<div>\n\n <ul><li><span class=\"citation\" data-citation-id=\"10.1186/gb-2006-7-10-r100\" data-citation-style=\"apa\"><a href=\"https://doi.org/10.1186/gb-2006-7-10-r100\">doi:10.1186/gb-2006-7-10-r100</a></span></li><li><span class=\"citation\" data-citation-id=\"10.1093/bioinformatics/btr095\" data-citation-style=\"apa\"><a href=\"https://doi.org/10.1093/bioinformatics/btr095\">doi:10.1093/bioinformatics/btr095</a></span></li><li><span class=\"citation\" data-citation-id=\"10.1371/journal.pbio.2005970\" data-citation-style=\"apa\"><a href=\"https://doi.org/10.1371/journal.pbio.2005970\">doi:10.1371/journal.pbio.2005970</a></span></li></ul>\n\n </div>\n</div>\n</div>\n\n<h1 id=\"testimonials\">Testimonials</h1>\n\n<p>The <code class=\"language-plaintext highlighter-rouge\">testimonial</code> include is used to quote an individual. Available fields:</p>\n\n<table>\n <tbody>\n <tr>\n <td><strong>person</strong></td>\n <td>any user from <a href=\"/people#list-of-contributors\">this list</a></td>\n </tr>\n <tr>\n <td><strong>quote</strong></td>\n <td>the text that will be displayed</td>\n </tr>\n <tr>\n <td><strong>source</strong></td>\n <td>a link to the original quotation</td>\n </tr>\n </tbody>\n</table>\n\n<aside class=\"sidebox\">\n\n\n<div><p><img src=\"https://gravatar.com/avatar/63df759e2779af56fd050a968ff98d09\" style=\"float: left; margin-right: 0.5em\" width=\"64\" height=\"64\" /><span>ON VACATION UNTIL OCTOBER 5. For real this time!</span><br />—<span>Curtis Rueden <span style=\"font-size: smaller\">[<a href=\"https://forum.image.sc/t/42450\">Source</a>]</span></span></p>\n</div>\n</aside>\n\n<p><em>The following liquid code:</em></p>\n<div class=\"language-plaintext highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>{% include testimonial person='ctrueden'\n quote='ON VACATION UNTIL OCTOBER 5. For real this time!'\n source='https://forum.image.sc/t/42450' %}\n</code></pre></div></div>\n<p>produces the testimonial shown here.</p>\n\n<h1 id=\"creating-footnotes\">Creating footnotes</h1>\n\n<h2 id=\"in-your-document\">In your document</h2>\n\n<p>Use the\n<a href=\"https://kramdown.gettalong.org/quickref.html#footnotes\">kramdown syntax</a>\nin your document to refer to footnotes by number.</p>\n\n<div class=\"notice\" style=\"font-size: 2; background: #e6e6e6; border-left: 10px solid #901913\"><div class=\"notice-icon\"><img src=\"/media/icons/note.svg\" width=\"32\" /></div><div class=\"notice-content\"><p>Regardless of where the liquid reference\n appears in your document, footnote text will always be at the bottom.</p>\n</div>\n</div>\n\n<h2 id=\"in-your-citation\">In your citation</h2>\n\n<p>Specify the footnote number in the <code class=\"language-plaintext highlighter-rouge\">include</code>.</p>\n\n<p><em>The following markdown and liquid code:</em></p>\n\n<div class=\"language-plaintext highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>This is a reference[^1].\n\n{% include citation fn=1 doi='10.1371/journal.pone.0038011' %}\n</code></pre></div></div>\n\n<p><em>produces:</em></p>\n\n<p>This is a reference<sup id=\"fnref:1\" role=\"doc-noteref\"><a href=\"#fn:1\" class=\"footnote\" rel=\"footnote\">1</a></sup>.</p>\n\n<div class=\"footnotes\" role=\"doc-endnotes\">\n <ol>\n <li id=\"fn:1\" role=\"doc-endnote\">\n <p><span class=\"citation\" data-citation-id=\"10.1371/journal.pone.0038011\" data-citation-style=\"apa\"><a href=\"https://doi.org/10.1371/journal.pone.0038011\">doi:10.1371/journal.pone.0038011</a></span> <a href=\"#fnref:1\" class=\"reversefootnote\" role=\"doc-backlink\">↩</a></p>\n </li>\n </ol>\n</div>\n\n </div>\n </div>\n </section>\n\n <!-- Footer -->\n <section id=\"footer\">\n <ul class=\"icons\">\n <li><a href=\"https://forum.image.sc/tag/imagej\" class=\"icon alt\"><img src=\"/media/icons/image-sc.png\" width=\"24\" style=\"vertical-align: middle; margin-top: -10px\"><span class=\"label\">Forum</span></a></li>\n\n <li><a href=\"https://twitter.com/hashtag/ImageJ\" class=\"icon brands alt fa-twitter\"><span class=\"label\">Twitter</span></a></li>\n <li><a href=\"https://github.com/imagej\" class=\"icon brands alt fa-github\"><span class=\"label\">GitHub</span></a></li>\n </ul>\n <ul class=\"copyright\">\n <li>Design: <a href=\"http://html5up.net\">HTML5 UP</a></li>\n </ul>\n</section>\n\n <!-- Hamburger menu -->\n <nav role=\"navigation\">\n <div id=\"ham-toggle\">\n <input type=\"checkbox\" />\n <span></span> <!-- top bun -->\n <span></span> <!-- hamburger -->\n <span></span> <!-- bottom bun -->\n <ul id=\"ham-menu\">\n <div class=\"menu\"><h3>ImageJ Docs</h3>\n <ul>\n <li><a href=\"/downloads\">Download</a></li>\n\n <li><details><summary>Learn</summary><ul>\n <li><details><summary><a href=\"/learn\">ImageJ Basics</a></summary><ul>\n <li><a href=\"/tutorials\">Tutorials</a></li>\n <li><a href=\"/learn/user-guides\">User Guides</a></li>\n <li><a href=\"/learn/keyboard-shortcuts\">Keyboard Shortcuts</a></li>\n <li><a href=\"/learn/tips-and-tricks\">Tips and Tricks</a></li>\n <li><a href=\"/learn/troubleshooting\">Troubleshooting</a></li>\n <li><a href=\"/learn/faq\">Frequently Asked Questions</a></li>\n\n <li><details><summary><a href=\"/platforms\">Supported Platforms</a></summary><ul>\n <li><a href=\"/platforms/windows\">Windows</a></li>\n <li><a href=\"/platforms/macos\">MacOS</a></li>\n <li><a href=\"/platforms/linux\">Linux</a></li>\n <li><a href=\"/platforms/pi\">Raspberry Pi</a></li>\n <li><a href=\"/platforms/android\">Android</a></li>\n </ul></details></li> <!-- Learn/ImageJ Basics/Supported Platforms -->\n\n <li><details><summary><a href=\"/formats\">File Formats</a></summary><ul>\n <li><a href=\"/formats/bio-formats\">Bio-Formats</a></li>\n <li><a href=\"/formats/video\">Video formats</a></li>\n <li><a href=\"/formats/quicktime\">QuickTime</a></li>\n <li><a href=\"/formats/tiff\">TIFF</a></li>\n <li><a href=\"/formats/pdf\">PDF</a></li>\n <li><a href=\"/formats/dicom\">DICOM</a></li>\n <li><a href=\"/formats/lsm\">Zeiss LSM</a></li>\n <li><a href=\"/formats/olympus\">Olympus VSI</a></li>\n <li><a href=\"/formats/lurawave\">Opera Flex</a></li>\n <li><a href=\"/formats/fib-sem\">FIB-SEM</a></li>\n </ul></details></li> <!-- Learn/ImageJ Basics/File Formats -->\n </ul></details></li> <!-- Learn/ImageJ -->\n\n <li><details><summary><a href=\"/imaging\">Scientific Imaging</a></summary><ul>\n <li><a href=\"/imaging/principles\">Principles of Scientific Imaging</a></li>\n <li><a href=\"/imaging/annotating-images\">Annotating Images</a></li>\n <li><a href=\"/imaging/colocalization-analysis\">Colocalization</a></li>\n <li><a href=\"/imaging/color-image-processing\">Color Image Processing</a></li>\n <li><a href=\"/imaging/deconvolution\">Deconvolution</a></li>\n <li><a href=\"/imaging/image-intensity-processing\">Image Intensity Processing</a></li>\n <li><a href=\"/imaging/particle-analysis\">Particle Analysis</a></li>\n <li><a href=\"/imaging/registration\">Registration</a></li>\n <li><a href=\"/imaging/segmentation\">Segmentation</a></li>\n <li><a href=\"/imaging/stack-slice-manipulations\">Stack-slice Manipulations</a></li>\n <li><a href=\"/imaging/t-functions\">T-functions</a></li>\n <li><a href=\"/imaging/tracking\">Tracking</a></li>\n <li><a href=\"/imaging/visualization\">Visualization</a></li>\n <li><a href=\"/imaging/z-functions\">Z-functions</a></li>\n </ul></details></li> <!-- Learn/Scientific Imaging -->\n </ul></details></li> <!-- Learn -->\n\n <li><details><summary><a href=\"/plugins\">Extend</a></summary><ul>\n <li><a href=\"/list-of-extensions\">List of Extensions</a></li>\n\n <li><details><summary><a href=\"/update-sites\">Update Sites</a></summary><ul>\n <li><a href=\"/list-of-update-sites\">List of Update Sites</a></li>\n <li><a href=\"/update-sites/following\">Following an Update Site</a></li>\n <li><a href=\"/update-sites/setup\">Creating an Update Site</a></li>\n <li><a href=\"/update-sites/tos\">Terms of Service</a></li>\n <li><a href=\"/update-sites/automatic-uploads\">Automatic Upload</a></li>\n <li><a href=\"/update-sites/core-uploads\">Uploading to Core Sites</a></li>\n <li><a href=\"/update-sites/faq\">Update Sites FAQ</a></li>\n <li><a href=\"/update-sites/stats\">Statistics</a></li>\n </ul></details></li> <!-- Extend/Update Sites -->\n\n <li><details><summary><a href=\"/scripting\">Scripting</a></summary><ul>\n <li><a href=\"/scripting/basics\">Scripting Basics</a></li>\n <li><a href=\"/scripting/script-editor\">Script Editor</a></li>\n <li><a href=\"/scripting/parameters\">Parameters</a></li>\n <li><a href=\"/scripting/user-input\">User Input</a></li>\n <li><a href=\"/scripting/auto-imports\">Auto Import</a></li>\n <li><a href=\"/scripting/templates\">Templates</a></li>\n <li><a href=\"/scripting/batch\">Batch Processing</a></li>\n <li><a href=\"/scripting/headless\">Running Headlessly</a></li>\n <li><a href=\"/scripting/comparisons\">Scripting Comparisons</a></li>\n <li><a href=\"/scripting/toolbox\">Toolbox</a></li>\n\n <li><details><summary>Languages</summary><ul>\n <li><a href=\"/scripting/beanshell\">BeanShell Scripting</a></li>\n <li><a href=\"/scripting/groovy\">Groovy Scripting</a></li>\n <li><a href=\"/scripting/macro\">ImageJ Macro</a></li>\n <li><a href=\"/scripting/javascript\">JavaScript</a></li>\n <li><a href=\"/scripting/clojure\">Lisp (Clojure)</a></li>\n <li><a href=\"/scripting/matlab\">MATLAB</a></li>\n <li><a href=\"/scripting/jython\">Python (Jython)</a></li>\n <li><a href=\"/scripting/python\">Python (native)</a></li>\n <li><a href=\"/scripting/renjin\">R (Renjin)</a></li>\n <li><a href=\"/scripting/jruby\">Ruby (JRuby)</a></li>\n <li><a href=\"/scripting/scala\">Scala Scripting</a></li>\n </ul></details></li> <!-- Extend/Scripting/Languages -->\n </ul></details></li> <!-- Extend/Scripting -->\n\n <li><details><summary><a href=\"/develop\">Development</a></summary><ul>\n <li><a href=\"/develop/philosophy\">Philosophy</a></li>\n <li><a href=\"/develop/architecture\">Architecture</a></li>\n <li><a href=\"/develop/source\">Source code</a></li>\n <li><a href=\"/develop/project-management\">Project management</a></li>\n <li><a href=\"/develop/coding-style\">Coding style</a></li>\n <li><a href=\"/develop/javadoc\">Using Javadoc</a></li>\n <li><a href=\"/develop/debugging\">Debugging</a></li>\n <li><a href=\"/develop/wish-list\">Wish list</a></li>\n\n <li><details><summary>Tools</summary><ul>\n <li><a href=\"/develop/github\">GitHub</a></li>\n <li><a href=\"/develop/maven\">Maven</a></li>\n <li><a href=\"/develop/ci\">CI/CD</a></li>\n <li><a href=\"/develop/dotfiles\">Dotfiles</a></li>\n\n <li><details><summary><a href=\"/develop/ides\">IDEs</a></summary><ul>\n <li><a href=\"/develop/eclipse\">Eclipse</a></li>\n <li><a href=\"/develop/netbeans\">NetBeans</a></li>\n <li><a href=\"/develop/intellij\">IntelliJ IDEA</a></li>\n <li><a href=\"/develop/command-line\">Command Line</a></li>\n </ul></details></li>\n </ul></details></li> <!-- Extend/Development/Tools -->\n\n <li><details><summary>Guides</summary><ul>\n <li><a href=\"/develop/plugins\">Writing plugins</a></li>\n <li><a href=\"/develop/improving-the-code\">Contributing to a plugin</a></li>\n <li><a href=\"/develop/releasing\">Development lifecycle</a></li>\n <li><a href=\"/develop/building-a-pom\">Building a POM</a></li>\n <li><a href=\"/develop/debugging-exercises\">Hands-on debugging</a></li>\n <li><a href=\"/develop/writing-ops\">Adding new ops</a></li>\n <li><a href=\"/develop/formats\">Adding new formats</a></li>\n <li><a href=\"/develop/native-libraries\">Using native libraries</a></li>\n <li><a href=\"/develop/tips\">Tips for developers</a></li>\n <li><a href=\"/develop/cpp-tips\">Tips for C++ developers</a></li>\n <li><a href=\"/develop/ij1-plugins\">ImageJ 1.x plugins</a></li>\n <li><a href=\"/develop/versioning\">Versioning</a></li>\n <li><a href=\"/develop/logging\">Logging</a></li>\n <li><a href=\"/develop/uber-jars\">Uber-JARs</a></li>\n </ul></details></li> <!-- Extend/Development/Guides -->\n\n <li><details><summary><a href=\"/develop/git\">Git</a></summary><ul>\n <li><a href=\"/develop/git/eclipse\">Git in Eclipse (EGit)</a></li>\n <li><a href=\"/develop/git/mini-howto\">Git mini howto</a></li>\n <li><a href=\"/develop/git/workshop\">Git workshop</a></li>\n <li><a href=\"/develop/git/conflicts\">Git conflicts</a></li>\n <li><a href=\"/develop/git/topic-branches\">Git topic branches</a></li>\n <li><a href=\"/develop/git/notes\">Git notes</a></li>\n <li><a href=\"/develop/git/reflogs\">Git reflogs</a></li>\n <li><a href=\"/develop/git/submodules\">Git submodules</a></li>\n <li><a href=\"/develop/git/pinpoint-regressions\">How to pinpoint regressions</a></li>\n <li><a href=\"/develop/git/publish-a-repository\">How to publish a git repository</a></li>\n <li><a href=\"/develop/git/extract-a-subproject\">How to extract a subproject</a></li>\n </ul></details></li> <!-- Extend/Development/Git -->\n </ul></details></li> <!-- Extend/Development -->\n </ul></details></li> <!-- Extend -->\n\n <li><details open><summary><a href=\"/contribute\">Contribute</a></summary><ul>\n <li><a href=\"/contribute/citing\">Citing</a></li>\n <li><a href=\"/people\">Contributors</a></li>\n <li><a href=\"/orgs\">Organizations</a></li>\n <li><a href=\"/contribute/governance\">Governance</a></li>\n <li><a href=\"/contribute/funding\">Funding</a></li>\n <li><a href=\"/contribute/fiji\">Contributing to Fiji</a></li>\n\n <li><details><summary><a href=\"/licensing\">Licensing</a></summary><ul>\n <li><details><summary><a href=\"/licensing/open-source\">Open Source</a></summary><ul>\n <li><a href=\"/licensing/apache\">Apache</a></li>\n <li><a href=\"/licensing/bsd\">BSD</a></li>\n <li><a href=\"/licensing/epl\">EPL</a></li>\n <li><a href=\"/licensing/gpl\">GPL</a></li>\n <li><a href=\"/licensing/lgpl\">LGPL</a></li>\n <li><a href=\"/licensing/mit\">MIT</a></li>\n <li><a href=\"/licensing/public-domain\">Public domain</a></li>\n <li><a href=\"/licensing/big\">BIG</a></li>\n </ul></details></li> <!-- Contribute/Licensing/Open Source -->\n\n <li><a href=\"/licensing/closed-source\">Proprietary</a></li>\n </ul></details></li> <!-- Contribute/Licensing -->\n\n <li><details open><summary><a href=\"/editing\">Editing the Wiki</a></summary><ul>\n <li><a href=\"/editing/advanced\">Advanced Editing</a></li>\n <li><a href=\"/editing/buttons\">Buttons</a></li>\n <li><a class=\"current-page\">Citations</a></li>\n <li><a href=\"/editing/code\">Source Code</a></li>\n <li><a href=\"/editing/debugging\">Debugging</a></li>\n <li><a href=\"/editing/headers\">Headers</a></li>\n <li><a href=\"/editing/icons\">Icons</a></li>\n <li><a href=\"/editing/images\">Images</a></li>\n <li><a href=\"/editing/keys\">Keyboard Shortcuts</a></li>\n <li><a href=\"/editing/linking\">Linking</a></li>\n <li><a href=\"/editing/math\">Math Expressions</a></li>\n <li><a href=\"/editing/menu-paths\">Menu Paths</a></li>\n <li><a href=\"/editing/navigation\">Navigation</a></li>\n <li><a href=\"/editing/notices\">Notices</a></li>\n <li><a href=\"/editing/people\">People</a></li>\n <li><a href=\"/editing/pitfalls\">Pitfalls</a></li>\n <li><a href=\"/editing/quizzes\">Quizzes</a></li>\n <li><a href=\"/editing/statbox\">Statbox</a></li>\n <li><a href=\"/editing/symbols\">Symbols</a></li>\n <li><a href=\"/editing/tables\">Tables</a></li>\n <li><a href=\"/editing/timelines\">Timelines</a></li>\n <li><a href=\"/editing/tooltips\">Tooltips</a></li>\n <li><a href=\"/editing/videos\">Videos</a></li>\n <li><a href=\"/editing/whitespace\">Whitespace</a></li>\n </ul></details></li> <!-- Contribute/Editing the Wiki -->\n </ul></details></li> <!-- Contribute -->\n\n <li><details><summary><a href=\"/discuss\">Discuss</a></summary><ul>\n <li><a href=\"/discuss/bugs\">Reporting Issues</a></li>\n <li><a href=\"/discuss/mailing-lists\">Mailing Lists</a></li>\n <li><a href=\"/discuss/chat\">Chat</a></li>\n </ul></details></li> <!-- Discuss -->\n\n <li><details><summary>Explore</summary><ul>\n <li><a href=\"/news\">News</a></li>\n\n <li><details><summary><a href=\"/events\">Events</a></summary><ul>\n <li><a href=\"/events/presentations\">Presentations</a></li>\n <li><a href=\"/events/conferences\">Conferences</a></li>\n <li><a href=\"/events/hackathons\">Hackathons</a></li>\n <li><a href=\"/events\">More...</a></li>\n </ul></details></li> <!-- Discuss/Events -->\n\n <li><details><summary><a href=\"/libs\">Libraries</a></summary><ul>\n <li><a href=\"/libs/imagej-ops\">ImageJ Ops</a></li>\n <li><a href=\"/libs/imagej-common\">ImageJ Common</a></li>\n <li><a href=\"/libs/imagej-legacy\">ImageJ Legacy</a></li>\n <li><a href=\"/libs/scijava\">SciJava</a></li>\n <li><a href=\"/libs/scifio\">SCIFIO</a></li>\n\n <li><details><summary><a href=\"/libs/imglib2\">ImgLib2</a></summary><ul>\n <li><a href=\"/libs/imglib2/getting-started\">Getting Started</a></li>\n <li><a href=\"/libs/imglib2/accessors\">Accessors</a></li>\n <li><a href=\"/libs/imglib2/accessibles\">Accessibles</a></li>\n <li><a href=\"/libs/imglib2/examples\">Examples</a></li>\n <li><a href=\"/libs/imglib2/workshop-introductory\">Introductory Workshop</a></li>\n <li><a href=\"/libs/imglib2/workshop-advanced\">Advanced Workshop</a></li>\n <li><a href=\"/libs/imglib2/matlab\">ImgLib2 images in MATLAB</a></li>\n <li><a href=\"/libs/imglib2/benchmarks\">Benchmarks</a></li>\n <li><a href=\"/libs/imglib2/faq\">FAQ</a></li>\n <li><a href=\"/libs/imglib2/developing\">Developing ImgLib2</a></li>\n <li><a href=\"/libs/imglib2/discussion\">ImgLib2 Discussion</a></li>\n </ul></details></li> <!-- Explore/Libraries/ImgLib2 -->\n \n <li><a href=\"/libs\">More...</a></li>\n </ul></details></li> <!-- Explore/Libraries -->\n\n <li><details><summary><a href=\"/software\">Software</a></summary><ul>\n <li><a href=\"/software/nih-image\">NIH Image</a></li>\n <li><a href=\"/software/imagej\">ImageJ</a></li>\n <li><a href=\"/software/imagej2\">ImageJ2</a></li>\n <li><a href=\"/software/fiji\">Fiji</a></li>\n <li><a href=\"/software\">More...</a></li>\n </ul></details></li> <!-- Explore/Software -->\n </ul></details></li> <!-- Explore -->\n </ul>\n </div>\n </ul>\n </div>\n </nav>\n\n <div id=\"dock-overlay-left\" class=\"dock-overlay\" data-dock-target=\"left-column\"></div>\n <div id=\"dock-overlay-right\" class=\"dock-overlay\" data-dock-target=\"right-column\"></div>\n\n <!-- Search results -->\n <div id=\"search-results\">\n <div id=\"search-hits\"></div>\n <div id=\"pagination\"></div>\n</div>\n\n <!-- Scripts -->\n <!-- Libraries -->\n<script src=\"/assets/js/jquery.min.js\"></script>\n<script src=\"/assets/js/jquery.scrolly.min.js\"></script>\n<script src=\"/assets/js/browser.min.js\"></script>\n<script src=\"/assets/js/breakpoints.min.js\"></script>\n<script src=\"/assets/js/util.js\"></script>\n<script src=\"/assets/js/jquery.toc.js\"></script>\n<script src=\"/assets/js/lightbox.min.js\"></script>\n<!-- Extensions -->\n\n<!-- Site code -->\n<script src=\"/assets/js/main.js\"></script>\n<script src=\"/assets/js/dock.js\"></script>\n<script src=\"/assets/js/code.js\"></script>\n<!-- Anchors -->\n<script src=\"https://cdn.jsdelivr.net/npm/anchor-js/anchor.min.js\"></script>\n<script>anchors.add('#page h1, #page h2, #page h3, #page h4, #page h5, #page h6');</script>\n<!-- Citations -->\n<script src=\"https://cdn.jsdelivr.net/npm/citation-js@0.4.0-9\"></script>\n<script src=\"/assets/js/cite.js\"></script>\n<!-- Search -->\n<script src=\"https://cdn.jsdelivr.net/npm/algoliasearch@4.13.0/dist/algoliasearch-lite.umd.js\"></script>\n<script src=\"https://cdn.jsdelivr.net/npm/instantsearch.js@4.40.3/dist/instantsearch.production.min.js\"></script>\n<script src=\"/assets/js/search.js\"></script>\n<script src=\"/assets/js/search-tweaks.js\"></script>\n </body>\n</html>\n",
"content": "<p>There are two kinds of sources which can be cited:</p>\n\n<table>\n <tbody>\n <tr>\n <td><code class=\"language-plaintext highlighter-rouge\">include citation</code></td>\n <td>cite a publication</td>\n </tr>\n <tr>\n <td><code class=\"language-plaintext highlighter-rouge\">include testimonial</code></td>\n <td>insert a personal quote from a <a href=\"/people\">person</a></td>\n </tr>\n </tbody>\n</table>\n\n<h1 id=\"citing-publications\">Citing publications</h1>\n\n<p>The <code class=\"language-plaintext highlighter-rouge\">citation</code> include is used to cite a publication.</p>\n\n<h2 id=\"citing-by-doi\">Citing by DOI</h2>\n\n<div class=\"example\">\n<div>\n<p>Code</p>\n\n<figure class=\"highlight\"><pre><code class=\"language-liquid\" data-lang=\"liquid\"><span class=\"p\">{%</span><span class=\"w\"> </span><span class=\"nt\">include</span><span class=\"w\"> </span><span class=\"nv\">citation</span><span class=\"w\"> </span><span class=\"na\">doi</span><span class=\"o\">=</span><span class=\"s1\">'10.1038/514550a'</span><span class=\"w\"> </span><span class=\"p\">%}</span></code></pre></figure>\n\n</div>\n<div>\n<p>Result</p>\n<div>\n\n <p><span class=\"citation\" data-citation-id=\"10.1038/514550a\" data-citation-style=\"apa\"><a href=\"https://doi.org/10.1038/514550a\">doi:10.1038/514550a</a></span></p>\n\n </div>\n</div>\n</div>\n\n<h3 id=\"citation-styles\">Citation styles</h3>\n\n<p>The default citation style is APA, but Harvard and Vancouver styles are also supported:</p>\n\n<div class=\"example\">\n<div>\n<p>Code</p>\n\n<figure class=\"highlight\"><pre><code class=\"language-liquid\" data-lang=\"liquid\"><span class=\"p\">{%</span><span class=\"w\"> </span><span class=\"nt\">include</span><span class=\"w\"> </span><span class=\"nv\">citation</span><span class=\"w\"> </span><span class=\"na\">doi</span><span class=\"o\">=</span><span class=\"s1\">'10.1038/514550a'</span><span class=\"w\"> </span><span class=\"na\">style</span><span class=\"o\">=</span><span class=\"s1\">'harvard1'</span><span class=\"w\"> </span><span class=\"p\">%}</span></code></pre></figure>\n\n</div>\n<div>\n<p>Result</p>\n<div>\n\n <p><span class=\"citation\" data-citation-id=\"10.1038/514550a\" data-citation-style=\"harvard1\"><a href=\"https://doi.org/10.1038/514550a\">doi:10.1038/514550a</a></span></p>\n\n </div>\n</div>\n</div>\n\n<div class=\"example\">\n<div>\n<p>Code</p>\n\n<figure class=\"highlight\"><pre><code class=\"language-liquid\" data-lang=\"liquid\"><span class=\"p\">{%</span><span class=\"w\"> </span><span class=\"nt\">include</span><span class=\"w\"> </span><span class=\"nv\">citation</span><span class=\"w\"> </span><span class=\"na\">doi</span><span class=\"o\">=</span><span class=\"s1\">'10.1038/514550a'</span><span class=\"w\"> </span><span class=\"na\">style</span><span class=\"o\">=</span><span class=\"s1\">'vancouver'</span><span class=\"w\"> </span><span class=\"p\">%}</span></code></pre></figure>\n\n</div>\n<div>\n<p>Result</p>\n<div>\n\n <p><span class=\"citation\" data-citation-id=\"10.1038/514550a\" data-citation-style=\"vancouver\"><a href=\"https://doi.org/10.1038/514550a\">doi:10.1038/514550a</a></span></p>\n\n </div>\n</div>\n</div>\n\n<div class=\"notice\" style=\"font-size: 2; background: #e6e6e6; border-left: 10px solid #bdbdbd\"><div class=\"notice-icon\"><img src=\"/media/icons/tech.png\" /></div><div class=\"notice-content\"><p>All of these features are driven by the\n <a href=\"https://citation.js.org/\">citation-js</a> library,\n which is very powerful, even supporting\n <a href=\"https://github.com/citation-js/citation-js/blob/3f3eee0813c7d578a454c34e402fa342d0693cfa/packages/plugin-csl/README.md#templates\">your own custom CSL template</a>,\n if you having extra time burning a hole in your continuum.</p>\n</div>\n</div>\n\n<h2 id=\"citing-by-wiki-page-url\">Citing by wiki page URL</h2>\n\n<div class=\"example\">\n<div>\n<p>Code</p>\n\n<figure class=\"highlight\"><pre><code class=\"language-liquid\" data-lang=\"liquid\"><span class=\"p\">{%</span><span class=\"w\"> </span><span class=\"nt\">include</span><span class=\"w\"> </span><span class=\"nv\">citation</span><span class=\"w\"> </span><span class=\"na\">id</span><span class=\"o\">=</span><span class=\"s2\">\"plugins/3d-viewer\"</span><span class=\"w\"> </span><span class=\"p\">%}</span></code></pre></figure>\n\n</div>\n<div>\n<p>Result</p>\n<div>\n\n <p><span class=\"citation\" data-citation-id=\"10.1186/1471-2105-11-274\" data-citation-style=\"apa\"><a href=\"https://doi.org/10.1186/1471-2105-11-274\">doi:10.1186/1471-2105-11-274</a></span></p>\n\n </div>\n</div>\n</div>\n\n<p>The DOI used is pulled from the front matter of the given wiki page URL.</p>\n\n<div class=\"notice\" style=\"font-size: 2; background: #dedede; border-left: 10px solid #7e7e7e\"><div class=\"notice-icon\"><span class=\"\">💡</span></div><div class=\"notice-content\">\n<p>If you want to cite the publication(s) associated with the current page, you\ncan simply write <code class=\"language-plaintext highlighter-rouge\">{% include citation %}</code> with no\narguments, and the DOI will be pulled from the front matter at the top.</p>\n</div>\n</div>\n\n<h3 id=\"multiple-citations\">Multiple citations</h3>\n\n<p>Some wiki pages have multiple publications associated with them.\nIn that case, all citations will be shown in the list:</p>\n\n<div class=\"example\">\n<div>\n<p>Code</p>\n\n<figure class=\"highlight\"><pre><code class=\"language-liquid\" data-lang=\"liquid\"><span class=\"p\">{%</span><span class=\"w\"> </span><span class=\"nt\">include</span><span class=\"w\"> </span><span class=\"nv\">citation</span><span class=\"w\"> </span><span class=\"na\">id</span><span class=\"o\">=</span><span class=\"s2\">\"software/cellprofiler\"</span><span class=\"w\"> </span><span class=\"p\">%}</span></code></pre></figure>\n\n</div>\n<div>\n<p>Result</p>\n<div>\n\n <ul><li><span class=\"citation\" data-citation-id=\"10.1186/gb-2006-7-10-r100\" data-citation-style=\"apa\"><a href=\"https://doi.org/10.1186/gb-2006-7-10-r100\">doi:10.1186/gb-2006-7-10-r100</a></span></li><li><span class=\"citation\" data-citation-id=\"10.1093/bioinformatics/btr095\" data-citation-style=\"apa\"><a href=\"https://doi.org/10.1093/bioinformatics/btr095\">doi:10.1093/bioinformatics/btr095</a></span></li><li><span class=\"citation\" data-citation-id=\"10.1371/journal.pbio.2005970\" data-citation-style=\"apa\"><a href=\"https://doi.org/10.1371/journal.pbio.2005970\">doi:10.1371/journal.pbio.2005970</a></span></li></ul>\n\n </div>\n</div>\n</div>\n\n<h1 id=\"testimonials\">Testimonials</h1>\n\n<p>The <code class=\"language-plaintext highlighter-rouge\">testimonial</code> include is used to quote an individual. Available fields:</p>\n\n<table>\n <tbody>\n <tr>\n <td><strong>person</strong></td>\n <td>any user from <a href=\"/people#list-of-contributors\">this list</a></td>\n </tr>\n <tr>\n <td><strong>quote</strong></td>\n <td>the text that will be displayed</td>\n </tr>\n <tr>\n <td><strong>source</strong></td>\n <td>a link to the original quotation</td>\n </tr>\n </tbody>\n</table>\n\n<aside class=\"sidebox\">\n\n\n<div><p><img src=\"https://gravatar.com/avatar/63df759e2779af56fd050a968ff98d09\" style=\"float: left; margin-right: 0.5em\" width=\"64\" height=\"64\" /><span>ON VACATION UNTIL OCTOBER 5. For real this time!</span><br />—<span>Curtis Rueden <span style=\"font-size: smaller\">[<a href=\"https://forum.image.sc/t/42450\">Source</a>]</span></span></p>\n</div>\n</aside>\n\n<p><em>The following liquid code:</em></p>\n<div class=\"language-plaintext highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>{% include testimonial person='ctrueden'\n quote='ON VACATION UNTIL OCTOBER 5. For real this time!'\n source='https://forum.image.sc/t/42450' %}\n</code></pre></div></div>\n<p>produces the testimonial shown here.</p>\n\n<h1 id=\"creating-footnotes\">Creating footnotes</h1>\n\n<h2 id=\"in-your-document\">In your document</h2>\n\n<p>Use the\n<a href=\"https://kramdown.gettalong.org/quickref.html#footnotes\">kramdown syntax</a>\nin your document to refer to footnotes by number.</p>\n\n<div class=\"notice\" style=\"font-size: 2; background: #e6e6e6; border-left: 10px solid #901913\"><div class=\"notice-icon\"><img src=\"/media/icons/note.svg\" width=\"32\" /></div><div class=\"notice-content\"><p>Regardless of where the liquid reference\n appears in your document, footnote text will always be at the bottom.</p>\n</div>\n</div>\n\n<h2 id=\"in-your-citation\">In your citation</h2>\n\n<p>Specify the footnote number in the <code class=\"language-plaintext highlighter-rouge\">include</code>.</p>\n\n<p><em>The following markdown and liquid code:</em></p>\n\n<div class=\"language-plaintext highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>This is a reference[^1].\n\n{% include citation fn=1 doi='10.1371/journal.pone.0038011' %}\n</code></pre></div></div>\n\n<p><em>produces:</em></p>\n\n<p>This is a reference<sup id=\"fnref:1\" role=\"doc-noteref\"><a href=\"#fn:1\" class=\"footnote\" rel=\"footnote\">1</a></sup>.</p>\n\n<div class=\"footnotes\" role=\"doc-endnotes\">\n <ol>\n <li id=\"fn:1\" role=\"doc-endnote\">\n <p><span class=\"citation\" data-citation-id=\"10.1371/journal.pone.0038011\" data-citation-style=\"apa\"><a href=\"https://doi.org/10.1371/journal.pone.0038011\">doi:10.1371/journal.pone.0038011</a></span> <a href=\"#fnref:1\" class=\"reversefootnote\" role=\"doc-backlink\">↩</a></p>\n </li>\n </ol>\n</div>\n",
"url": "/editing/citations",
"draft": false,
"categories": [
],
"layout": "page",
"icon": "/media/icons/imagej2.png",
"title": "Citations",
"description": "This page demonstrates how to cite sources.",
"section": "Contribute:Editing the Wiki",
"nav-links": true,
"slug": "citations",
"ext": ".md",
"tags": [
],
"date": "2024-11-17 22:07:46 +0000"
},
"id": "/editing/code",
"collection": "pages",
"next": {
"path": "_pages/editing/debugging.md",
"relative_path": "_pages/editing/debugging.md",
"excerpt": "<p>The best way to collect debugging information is to <a href=\"/editing/advanced\">build the site locally</a>. However if that isn’t an option, this page documents tags which can be helpful.</p>\n\n",
"previous": {
"path": "_pages/editing/code.md",
"relative_path": "_pages/editing/code.md",
"id": "/editing/code",
"collection": "pages",
"url": "/editing/code",
"draft": false,
"categories": [
],
"layout": "page",
"icon": "/media/icons/imagej2.png",
"title": "Source Code",
"section": "Contribute:Editing the Wiki",
"nav-links": true,
"slug": "code",
"ext": ".md",
"tags": [
],
"date": "2024-11-17 22:07:46 +0000"
},
"id": "/editing/debugging",
"collection": "pages",
"next": {
"path": "_pages/editing/dokuwiki-migration.md",
"relative_path": "_pages/editing/dokuwiki-migration.md",
"id": "/editing/dokuwiki-migration",
"collection": "pages",
"url": "/editing/dokuwiki-migration",
"draft": false,
"categories": [
],
"layout": "page",
"icon": "/media/icons/imagej2.png",
"title": "Migrating from DokuWiki",
"nav-links": true,
"nav-title": "DokuWiki Migration",
"slug": "dokuwiki-migration",
"ext": ".md",
"tags": [
]
},
"output": null,
"content": "The best way to collect debugging information is to [build the site locally](/editing/advanced). However if that isn't an option, this page documents tags which can be helpful.\n\n## Echo\n\nThis `echo` include just prints its arguments, for debugging/learning purposes. This can be helpful in understanding Liquid syntax and how strings are being read internally by an `include`.\n\nArguments are printed as a comma-separated list of `\"argument\"==>\"value\"` pairs.\n\nNote that liquid allows the passing of [arbitrary arguments](https://jekyllrb.com/docs/includes/) to `include` templates. All these arguments will be stored, but won't have any effect unless the `include`'s [source](https://github.com/imagej/imagej.github.io/tree/-/_includes) actually does something with those arguments.\n\n{% highlight liquid %}{% raw %}{% include echo content=\"This is the content argument\" bracket=\"what if I pass {}?\" gorilla=\"Why do we have a gorilla argument?\" %}{% endraw %}{% endhighlight %}\n{% include echo content=\"This is the content argument\" bracket=\"what if I pass {}?\" gorilla=\"Why do we have a gorilla argument?\" %}\n\n### What's in a `page`?\n\n{% include notice icon=\"tech\" content=\"Ever wonder what all is part of the `page` data structure? Let's find out! \n\n(You can also do this with the `site` data structure, but be warned: the output will include every page body across the whole site!)\" %}\n\n{% highlight liquid %}{% raw %}{% include echo p=page %}{% endraw %}{% endhighlight %}\n{% include echo p=page %}\n",
"url": "/editing/debugging",
"draft": false,
"categories": [
],
"layout": "page",
"icon": "/media/icons/imagej2.png",
"title": "Debugging",
"section": "Contribute:Editing the Wiki",
"nav-links": true,
"slug": "debugging",
"ext": ".md",
"tags": [
]
},
"output": "<!DOCTYPE html>\n<html>\n <head>\n <title>Source Code</title>\n <meta charset=\"utf-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, maximum-scale=3\" />\n <meta content=\"ImageJ Wiki\" property=\"og:site_name\">\n <meta content=\"Source Code\" property=\"og:title\">\n <meta content=\"article\" property=\"og:type\">\n <meta content=\"The ImageJ wiki is a community-edited knowledge base on topics relating to ImageJ, a public domain program for processing and analyzing scientific images, and its ecosystem of derivatives and variants, including ImageJ2, Fiji, and others.\" property=\"og:description\">\n <meta content=\"https://imagej.github.io/editing/code\" property=\"og:url\">\n <meta content=\"https://imagej.github.io/media/icons/imagej2.png\" property=\"og:image\">\n <link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"/apple-touch-icon.png\">\n <link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/favicon-32x32.png\">\n <link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/favicon-16x16.png\">\n <link rel=\"manifest\" href=\"/site.webmanifest\">\n <link rel=\"mask-icon\" href=\"/safari-pinned-tab.svg\" color=\"#5bbad5\">\n <meta name=\"msapplication-TileColor\" content=\"#da532c\">\n <meta name=\"theme-color\" content=\"#ffffff\">\n <link rel=\"stylesheet\" href=\"/assets/css/lightbox.min.css\" />\n <link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/instantsearch.css@7/themes/algolia-min.css\"/>\n <script type=\"text/javascript\" src=\"https://cdn.jsdelivr.net/npm/dygraphs@2.1.0/dist/dygraph.min.js\"></script>\n <link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/dygraphs@2.1.0/dist/dygraph.min.css\" />\n <link rel=\"stylesheet\" href=\"/assets/css/main.css\" />\n <link rel=\"stylesheet\" href=\"/assets/css/layout.css\"/>\n <link rel=\"stylesheet\" href=\"/assets/css/includes.css\" />\n <link rel=\"stylesheet\" href=\"/assets/css/timeline.css\"/>\n <link rel=\"stylesheet\" href=\"/assets/css/dock.css\"/>\n <noscript><link rel=\"stylesheet\" href=\"/assets/css/noscript.css\" /></noscript>\n <link rel=\"stylesheet\" href=\"/assets/css/page.css\" />\n </head>\n <body class=\"is-preload\">\n <!-- Top bar -->\n <section id=\"top-bar\">\n <a href=\"/\"><img id=\"site-logo\" src=\"/media/icons/imagej2.png\"></a>\n <div id=\"search-panel\">\n <div id=\"search-box\"></div>\n </div>\n</section>\n\n <!-- Page-info -->\n <div class=\"page-info\"> \n <a href=\"https://github.com/imagej/imagej.github.io/commits/main/_pages/editing/code.md\">Page history</a>\n <a href=\"https://github.com/imagej/imagej.github.io/edit/main/_pages/editing/code.md\">Edit this page</a>\n <a href=\"/editing\">How do I edit this website?</a></div>\n\n <section id=\"left-column\" class=\"sidebar dock\">\n <!-- Menu -->\n <div class=\"menu dockable\">\n <div class=\"drag-handle\"></div><h3>ImageJ Docs</h3>\n <ul>\n <li><a href=\"/downloads\">Download</a></li>\n\n <li><details><summary>Learn</summary><ul>\n <li><details><summary><a href=\"/learn\">ImageJ Basics</a></summary><ul>\n <li><a href=\"/tutorials\">Tutorials</a></li>\n <li><a href=\"/learn/user-guides\">User Guides</a></li>\n <li><a href=\"/learn/keyboard-shortcuts\">Keyboard Shortcuts</a></li>\n <li><a href=\"/learn/tips-and-tricks\">Tips and Tricks</a></li>\n <li><a href=\"/learn/troubleshooting\">Troubleshooting</a></li>\n <li><a href=\"/learn/faq\">Frequently Asked Questions</a></li>\n\n <li><details><summary><a href=\"/platforms\">Supported Platforms</a></summary><ul>\n <li><a href=\"/platforms/windows\">Windows</a></li>\n <li><a href=\"/platforms/macos\">MacOS</a></li>\n <li><a href=\"/platforms/linux\">Linux</a></li>\n <li><a href=\"/platforms/pi\">Raspberry Pi</a></li>\n <li><a href=\"/platforms/android\">Android</a></li>\n </ul></details></li> <!-- Learn/ImageJ Basics/Supported Platforms -->\n\n <li><details><summary><a href=\"/formats\">File Formats</a></summary><ul>\n <li><a href=\"/formats/bio-formats\">Bio-Formats</a></li>\n <li><a href=\"/formats/video\">Video formats</a></li>\n <li><a href=\"/formats/quicktime\">QuickTime</a></li>\n <li><a href=\"/formats/tiff\">TIFF</a></li>\n <li><a href=\"/formats/pdf\">PDF</a></li>\n <li><a href=\"/formats/dicom\">DICOM</a></li>\n <li><a href=\"/formats/lsm\">Zeiss LSM</a></li>\n <li><a href=\"/formats/olympus\">Olympus VSI</a></li>\n <li><a href=\"/formats/lurawave\">Opera Flex</a></li>\n <li><a href=\"/formats/fib-sem\">FIB-SEM</a></li>\n </ul></details></li> <!-- Learn/ImageJ Basics/File Formats -->\n </ul></details></li> <!-- Learn/ImageJ -->\n\n <li><details><summary><a href=\"/imaging\">Scientific Imaging</a></summary><ul>\n <li><a href=\"/imaging/principles\">Principles of Scientific Imaging</a></li>\n <li><a href=\"/imaging/annotating-images\">Annotating Images</a></li>\n <li><a href=\"/imaging/colocalization-analysis\">Colocalization</a></li>\n <li><a href=\"/imaging/color-image-processing\">Color Image Processing</a></li>\n <li><a href=\"/imaging/deconvolution\">Deconvolution</a></li>\n <li><a href=\"/imaging/image-intensity-processing\">Image Intensity Processing</a></li>\n <li><a href=\"/imaging/particle-analysis\">Particle Analysis</a></li>\n <li><a href=\"/imaging/registration\">Registration</a></li>\n <li><a href=\"/imaging/segmentation\">Segmentation</a></li>\n <li><a href=\"/imaging/stack-slice-manipulations\">Stack-slice Manipulations</a></li>\n <li><a href=\"/imaging/t-functions\">T-functions</a></li>\n <li><a href=\"/imaging/tracking\">Tracking</a></li>\n <li><a href=\"/imaging/visualization\">Visualization</a></li>\n <li><a href=\"/imaging/z-functions\">Z-functions</a></li>\n </ul></details></li> <!-- Learn/Scientific Imaging -->\n </ul></details></li> <!-- Learn -->\n\n <li><details><summary><a href=\"/plugins\">Extend</a></summary><ul>\n <li><a href=\"/list-of-extensions\">List of Extensions</a></li>\n\n <li><details><summary><a href=\"/update-sites\">Update Sites</a></summary><ul>\n <li><a href=\"/list-of-update-sites\">List of Update Sites</a></li>\n <li><a href=\"/update-sites/following\">Following an Update Site</a></li>\n <li><a href=\"/update-sites/setup\">Creating an Update Site</a></li>\n <li><a href=\"/update-sites/tos\">Terms of Service</a></li>\n <li><a href=\"/update-sites/automatic-uploads\">Automatic Upload</a></li>\n <li><a href=\"/update-sites/core-uploads\">Uploading to Core Sites</a></li>\n <li><a href=\"/update-sites/faq\">Update Sites FAQ</a></li>\n <li><a href=\"/update-sites/stats\">Statistics</a></li>\n </ul></details></li> <!-- Extend/Update Sites -->\n\n <li><details><summary><a href=\"/scripting\">Scripting</a></summary><ul>\n <li><a href=\"/scripting/basics\">Scripting Basics</a></li>\n <li><a href=\"/scripting/script-editor\">Script Editor</a></li>\n <li><a href=\"/scripting/parameters\">Parameters</a></li>\n <li><a href=\"/scripting/user-input\">User Input</a></li>\n <li><a href=\"/scripting/auto-imports\">Auto Import</a></li>\n <li><a href=\"/scripting/templates\">Templates</a></li>\n <li><a href=\"/scripting/batch\">Batch Processing</a></li>\n <li><a href=\"/scripting/headless\">Running Headlessly</a></li>\n <li><a href=\"/scripting/comparisons\">Scripting Comparisons</a></li>\n <li><a href=\"/scripting/toolbox\">Toolbox</a></li>\n\n <li><details><summary>Languages</summary><ul>\n <li><a href=\"/scripting/beanshell\">BeanShell Scripting</a></li>\n <li><a href=\"/scripting/groovy\">Groovy Scripting</a></li>\n <li><a href=\"/scripting/macro\">ImageJ Macro</a></li>\n <li><a href=\"/scripting/javascript\">JavaScript</a></li>\n <li><a href=\"/scripting/clojure\">Lisp (Clojure)</a></li>\n <li><a href=\"/scripting/matlab\">MATLAB</a></li>\n <li><a href=\"/scripting/jython\">Python (Jython)</a></li>\n <li><a href=\"/scripting/python\">Python (native)</a></li>\n <li><a href=\"/scripting/renjin\">R (Renjin)</a></li>\n <li><a href=\"/scripting/jruby\">Ruby (JRuby)</a></li>\n <li><a href=\"/scripting/scala\">Scala Scripting</a></li>\n </ul></details></li> <!-- Extend/Scripting/Languages -->\n </ul></details></li> <!-- Extend/Scripting -->\n\n <li><details><summary><a href=\"/develop\">Development</a></summary><ul>\n <li><a href=\"/develop/philosophy\">Philosophy</a></li>\n <li><a href=\"/develop/architecture\">Architecture</a></li>\n <li><a href=\"/develop/source\">Source code</a></li>\n <li><a href=\"/develop/project-management\">Project management</a></li>\n <li><a href=\"/develop/coding-style\">Coding style</a></li>\n <li><a href=\"/develop/javadoc\">Using Javadoc</a></li>\n <li><a href=\"/develop/debugging\">Debugging</a></li>\n <li><a href=\"/develop/wish-list\">Wish list</a></li>\n\n <li><details><summary>Tools</summary><ul>\n <li><a href=\"/develop/github\">GitHub</a></li>\n <li><a href=\"/develop/maven\">Maven</a></li>\n <li><a href=\"/develop/ci\">CI/CD</a></li>\n <li><a href=\"/develop/dotfiles\">Dotfiles</a></li>\n\n <li><details><summary><a href=\"/develop/ides\">IDEs</a></summary><ul>\n <li><a href=\"/develop/eclipse\">Eclipse</a></li>\n <li><a href=\"/develop/netbeans\">NetBeans</a></li>\n <li><a href=\"/develop/intellij\">IntelliJ IDEA</a></li>\n <li><a href=\"/develop/command-line\">Command Line</a></li>\n </ul></details></li>\n </ul></details></li> <!-- Extend/Development/Tools -->\n\n <li><details><summary>Guides</summary><ul>\n <li><a href=\"/develop/plugins\">Writing plugins</a></li>\n <li><a href=\"/develop/improving-the-code\">Contributing to a plugin</a></li>\n <li><a href=\"/develop/releasing\">Development lifecycle</a></li>\n <li><a href=\"/develop/building-a-pom\">Building a POM</a></li>\n <li><a href=\"/develop/debugging-exercises\">Hands-on debugging</a></li>\n <li><a href=\"/develop/writing-ops\">Adding new ops</a></li>\n <li><a href=\"/develop/formats\">Adding new formats</a></li>\n <li><a href=\"/develop/native-libraries\">Using native libraries</a></li>\n <li><a href=\"/develop/tips\">Tips for developers</a></li>\n <li><a href=\"/develop/cpp-tips\">Tips for C++ developers</a></li>\n <li><a href=\"/develop/ij1-plugins\">ImageJ 1.x plugins</a></li>\n <li><a href=\"/develop/versioning\">Versioning</a></li>\n <li><a href=\"/develop/logging\">Logging</a></li>\n <li><a href=\"/develop/uber-jars\">Uber-JARs</a></li>\n </ul></details></li> <!-- Extend/Development/Guides -->\n\n <li><details><summary><a href=\"/develop/git\">Git</a></summary><ul>\n <li><a href=\"/develop/git/eclipse\">Git in Eclipse (EGit)</a></li>\n <li><a href=\"/develop/git/mini-howto\">Git mini howto</a></li>\n <li><a href=\"/develop/git/workshop\">Git workshop</a></li>\n <li><a href=\"/develop/git/conflicts\">Git conflicts</a></li>\n <li><a href=\"/develop/git/topic-branches\">Git topic branches</a></li>\n <li><a href=\"/develop/git/notes\">Git notes</a></li>\n <li><a href=\"/develop/git/reflogs\">Git reflogs</a></li>\n <li><a href=\"/develop/git/submodules\">Git submodules</a></li>\n <li><a href=\"/develop/git/pinpoint-regressions\">How to pinpoint regressions</a></li>\n <li><a href=\"/develop/git/publish-a-repository\">How to publish a git repository</a></li>\n <li><a href=\"/develop/git/extract-a-subproject\">How to extract a subproject</a></li>\n </ul></details></li> <!-- Extend/Development/Git -->\n </ul></details></li> <!-- Extend/Development -->\n </ul></details></li> <!-- Extend -->\n\n <li><details open><summary><a href=\"/contribute\">Contribute</a></summary><ul>\n <li><a href=\"/contribute/citing\">Citing</a></li>\n <li><a href=\"/people\">Contributors</a></li>\n <li><a href=\"/orgs\">Organizations</a></li>\n <li><a href=\"/contribute/governance\">Governance</a></li>\n <li><a href=\"/contribute/funding\">Funding</a></li>\n <li><a href=\"/contribute/fiji\">Contributing to Fiji</a></li>\n\n <li><details><summary><a href=\"/licensing\">Licensing</a></summary><ul>\n <li><details><summary><a href=\"/licensing/open-source\">Open Source</a></summary><ul>\n <li><a href=\"/licensing/apache\">Apache</a></li>\n <li><a href=\"/licensing/bsd\">BSD</a></li>\n <li><a href=\"/licensing/epl\">EPL</a></li>\n <li><a href=\"/licensing/gpl\">GPL</a></li>\n <li><a href=\"/licensing/lgpl\">LGPL</a></li>\n <li><a href=\"/licensing/mit\">MIT</a></li>\n <li><a href=\"/licensing/public-domain\">Public domain</a></li>\n <li><a href=\"/licensing/big\">BIG</a></li>\n </ul></details></li> <!-- Contribute/Licensing/Open Source -->\n\n <li><a href=\"/licensing/closed-source\">Proprietary</a></li>\n </ul></details></li> <!-- Contribute/Licensing -->\n\n <li><details open><summary><a href=\"/editing\">Editing the Wiki</a></summary><ul>\n <li><a href=\"/editing/advanced\">Advanced Editing</a></li>\n <li><a href=\"/editing/buttons\">Buttons</a></li>\n <li><a href=\"/editing/citations\">Citations</a></li>\n <li><a class=\"current-page\">Source Code</a></li>\n <li><a href=\"/editing/debugging\">Debugging</a></li>\n <li><a href=\"/editing/headers\">Headers</a></li>\n <li><a href=\"/editing/icons\">Icons</a></li>\n <li><a href=\"/editing/images\">Images</a></li>\n <li><a href=\"/editing/keys\">Keyboard Shortcuts</a></li>\n <li><a href=\"/editing/linking\">Linking</a></li>\n <li><a href=\"/editing/math\">Math Expressions</a></li>\n <li><a href=\"/editing/menu-paths\">Menu Paths</a></li>\n <li><a href=\"/editing/navigation\">Navigation</a></li>\n <li><a href=\"/editing/notices\">Notices</a></li>\n <li><a href=\"/editing/people\">People</a></li>\n <li><a href=\"/editing/pitfalls\">Pitfalls</a></li>\n <li><a href=\"/editing/quizzes\">Quizzes</a></li>\n <li><a href=\"/editing/statbox\">Statbox</a></li>\n <li><a href=\"/editing/symbols\">Symbols</a></li>\n <li><a href=\"/editing/tables\">Tables</a></li>\n <li><a href=\"/editing/timelines\">Timelines</a></li>\n <li><a href=\"/editing/tooltips\">Tooltips</a></li>\n <li><a href=\"/editing/videos\">Videos</a></li>\n <li><a href=\"/editing/whitespace\">Whitespace</a></li>\n </ul></details></li> <!-- Contribute/Editing the Wiki -->\n </ul></details></li> <!-- Contribute -->\n\n <li><details><summary><a href=\"/discuss\">Discuss</a></summary><ul>\n <li><a href=\"/discuss/bugs\">Reporting Issues</a></li>\n <li><a href=\"/discuss/mailing-lists\">Mailing Lists</a></li>\n <li><a href=\"/discuss/chat\">Chat</a></li>\n </ul></details></li> <!-- Discuss -->\n\n <li><details><summary>Explore</summary><ul>\n <li><a href=\"/news\">News</a></li>\n\n <li><details><summary><a href=\"/events\">Events</a></summary><ul>\n <li><a href=\"/events/presentations\">Presentations</a></li>\n <li><a href=\"/events/conferences\">Conferences</a></li>\n <li><a href=\"/events/hackathons\">Hackathons</a></li>\n <li><a href=\"/events\">More...</a></li>\n </ul></details></li> <!-- Discuss/Events -->\n\n <li><details><summary><a href=\"/libs\">Libraries</a></summary><ul>\n <li><a href=\"/libs/imagej-ops\">ImageJ Ops</a></li>\n <li><a href=\"/libs/imagej-common\">ImageJ Common</a></li>\n <li><a href=\"/libs/imagej-legacy\">ImageJ Legacy</a></li>\n <li><a href=\"/libs/scijava\">SciJava</a></li>\n <li><a href=\"/libs/scifio\">SCIFIO</a></li>\n\n <li><details><summary><a href=\"/libs/imglib2\">ImgLib2</a></summary><ul>\n <li><a href=\"/libs/imglib2/getting-started\">Getting Started</a></li>\n <li><a href=\"/libs/imglib2/accessors\">Accessors</a></li>\n <li><a href=\"/libs/imglib2/accessibles\">Accessibles</a></li>\n <li><a href=\"/libs/imglib2/examples\">Examples</a></li>\n <li><a href=\"/libs/imglib2/workshop-introductory\">Introductory Workshop</a></li>\n <li><a href=\"/libs/imglib2/workshop-advanced\">Advanced Workshop</a></li>\n <li><a href=\"/libs/imglib2/matlab\">ImgLib2 images in MATLAB</a></li>\n <li><a href=\"/libs/imglib2/benchmarks\">Benchmarks</a></li>\n <li><a href=\"/libs/imglib2/faq\">FAQ</a></li>\n <li><a href=\"/libs/imglib2/developing\">Developing ImgLib2</a></li>\n <li><a href=\"/libs/imglib2/discussion\">ImgLib2 Discussion</a></li>\n </ul></details></li> <!-- Explore/Libraries/ImgLib2 -->\n \n <li><a href=\"/libs\">More...</a></li>\n </ul></details></li> <!-- Explore/Libraries -->\n\n <li><details><summary><a href=\"/software\">Software</a></summary><ul>\n <li><a href=\"/software/nih-image\">NIH Image</a></li>\n <li><a href=\"/software/imagej\">ImageJ</a></li>\n <li><a href=\"/software/imagej2\">ImageJ2</a></li>\n <li><a href=\"/software/fiji\">Fiji</a></li>\n <li><a href=\"/software\">More...</a></li>\n </ul></details></li> <!-- Explore/Software -->\n </ul></details></li> <!-- Explore -->\n </ul>\n </div>\n </section>\n\n <section id=\"right-column\" class=\"sidebar dock\">\n <!-- Vital stats -->\n \n\n <!-- Table of contents -->\n <div id=\"toc\" class=\"toc menu dockable\">\n <div class=\"drag-handle\"></div>\n <h3>Page contents</h3>\n <ul data-toc=\"#content\" data-toc-headings=\"h1,h2,h3,h4,h5,h6\"></ul>\n </div>\n </section>\n\n <!-- Page title -->\n <div class=\"container\">\n <header class=\"major special\">\n <h1>Source Code</h1>\n </header>\n </div>\n\n <!-- Nav bar -->\n <div id=\"nav-bar\"><ul class=\"shadowed-box\"><li><a href=\"/editing/index\">Introduction</a></li><li><a href=\"/editing/advanced\">Advanced Editing</a></li><li><a href=\"/editing/buttons\">Buttons</a></li><li><a href=\"/editing/citations\">Citations</a></li><li>Source Code</li><li><a href=\"/editing/debugging\">Debugging</a></li><li><a href=\"/editing/dokuwiki-migration\">DokuWiki Migration</a></li><li><a href=\"/editing/headers\">Headers</a></li><li><a href=\"/editing/icons\">Icons</a></li><li><a href=\"/editing/images\">Images</a></li><li><a href=\"/editing/keys\">Keyboard Shortcuts</a></li><li><a href=\"/editing/linking\">Linking</a></li><li><a href=\"/editing/math\">Math Expressions</a></li><li><a href=\"/editing/menu-paths\">Menu Paths</a></li><li><a href=\"/editing/navigation\">Navigation</a></li><li><a href=\"/editing/notices\">Notices</a></li><li><a href=\"/editing/people\">People</a></li><li><a href=\"/editing/pitfalls\">Pitfalls</a></li><li><a href=\"/editing/quizzes\">Quizzes</a></li><li><a href=\"/editing/statbox\">Statbox</a></li><li><a href=\"/editing/symbols\">Symbols</a></li><li><a href=\"/editing/tables\">Tables</a></li><li><a href=\"/editing/timelines\">Timelines</a></li><li><a href=\"/editing/tooltips\">Tooltips</a></li><li><a href=\"/editing/videos\">Videos</a></li><li><a href=\"/editing/whitespace\">Whitespace</a></li></ul></div>\n\n <!-- Main content -->\n <section id=\"page\" class=\"main style1\">\n <div class=\"container\">\n <div class=\"box alt\"></div>\n <div id=\"content\" class=\"page-content\">\n \n <p>This page describes nice ways of embedding source code in a page.</p>\n\n<h1 id=\"inline-code-snippets\">Inline code snippets</h1>\n\n<p>If you just want to write a short snippet of code as part of a sentence,\nsurround the code in backtick symbols (<code>`</code>).</p>\n\n<div class=\"example\">\n<div>\n<p>Code</p>\n\n<figure class=\"highlight\"><pre><code class=\"language-liquid\" data-lang=\"liquid\">Type `print('Hello world!')` and save as `hello.py`.</code></pre></figure>\n\n</div>\n<div>\n<p>Result</p>\n<div>\n\n <p>Type <code class=\"language-plaintext highlighter-rouge\">print('Hello world!')</code> and save as <code class=\"language-plaintext highlighter-rouge\">hello.py</code>.</p>\n\n </div>\n</div>\n</div>\n\n<h2 id=\"code-fences\">Code fences</h2>\n\n<p>A “code fence” is three backtick symbols (<code>```</code>) preceding your\ncode, and another three concluding it. Optionally, you can write the name of\nthe language in small case next to the leading fence to declare syntax\nhighlighting is desired with the stated language.</p>\n\n<p><strong>NB:</strong> code fence syntax highlighting is currently not working locally due to\ndifferences in local build configuration. However, highlighting <em>will</em> display as\nappropriate on the public wiki.</p>\n\n<h3 id=\"java-example\">Java example</h3>\n\n<div class=\"example\">\n<div>\n<p>Code</p>\n\n<figure class=\"highlight\"><pre><code class=\"language-liquid\" data-lang=\"liquid\">```java\nImage3DUniverse univ = new Image3DUniverse();\nuniv.show();\nuniv.addMesh(yourImagePlus, null, \"somename\", 50,\n new boolean[] {true, true, true}, 2);\n```</code></pre></figure>\n\n</div>\n<div>\n<p>Result</p>\n<div>\n\n <div class=\"language-java highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"nc\">Image3DUniverse</span> <span class=\"n\">univ</span> <span class=\"o\">=</span> <span class=\"k\">new</span> <span class=\"nc\">Image3DUniverse</span><span class=\"o\">();</span>\n<span class=\"n\">univ</span><span class=\"o\">.</span><span class=\"na\">show</span><span class=\"o\">();</span>\n<span class=\"n\">univ</span><span class=\"o\">.</span><span class=\"na\">addMesh</span><span class=\"o\">(</span><span class=\"n\">yourImagePlus</span><span class=\"o\">,</span> <span class=\"kc\">null</span><span class=\"o\">,</span> <span class=\"s\">\"somename\"</span><span class=\"o\">,</span> <span class=\"mi\">50</span><span class=\"o\">,</span>\n <span class=\"k\">new</span> <span class=\"kt\">boolean</span><span class=\"o\">[]</span> <span class=\"o\">{</span><span class=\"kc\">true</span><span class=\"o\">,</span> <span class=\"kc\">true</span><span class=\"o\">,</span> <span class=\"kc\">true</span><span class=\"o\">},</span> <span class=\"mi\">2</span><span class=\"o\">);</span>\n</code></pre></div> </div>\n\n </div>\n</div>\n</div>\n\n<h3 id=\"python-example\">Python example</h3>\n\n<div class=\"example\">\n<div>\n<p>Code</p>\n\n<figure class=\"highlight\"><pre><code class=\"language-liquid\" data-lang=\"liquid\">```python\ndef update_progress(progress):\n barLength = 10 # length of progress bar\n block = int(round(barLength*progress))\n text = f'\\rPercent complete: ' +\n f'[{\"#\"*block + \"-\"*(barLength-block)}] ' +\n f'{progress*100}%'\n sys.stdout.write(text)\n sys.stdout.flush()\n```</code></pre></figure>\n\n</div>\n<div>\n<p>Result</p>\n<div>\n\n <div class=\"language-python highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"k\">def</span> <span class=\"nf\">update_progress</span><span class=\"p\">(</span><span class=\"n\">progress</span><span class=\"p\">):</span>\n <span class=\"n\">barLength</span> <span class=\"o\">=</span> <span class=\"mi\">10</span> <span class=\"c1\"># length of progress bar\n</span> <span class=\"n\">block</span> <span class=\"o\">=</span> <span class=\"nb\">int</span><span class=\"p\">(</span><span class=\"nb\">round</span><span class=\"p\">(</span><span class=\"n\">barLength</span><span class=\"o\">*</span><span class=\"n\">progress</span><span class=\"p\">))</span>\n <span class=\"n\">text</span> <span class=\"o\">=</span> <span class=\"sa\">f</span><span class=\"s\">'</span><span class=\"se\">\\r</span><span class=\"s\">Percent complete: '</span> <span class=\"o\">+</span>\n <span class=\"sa\">f</span><span class=\"s\">'[</span><span class=\"si\">{</span><span class=\"s\">\"#\"</span><span class=\"o\">*</span><span class=\"n\">block</span> <span class=\"o\">+</span> <span class=\"s\">\"-\"</span><span class=\"o\">*</span><span class=\"p\">(</span><span class=\"n\">barLength</span><span class=\"o\">-</span><span class=\"n\">block</span><span class=\"p\">)</span><span class=\"si\">}</span><span class=\"s\">] '</span> <span class=\"o\">+</span>\n <span class=\"sa\">f</span><span class=\"s\">'</span><span class=\"si\">{</span><span class=\"n\">progress</span><span class=\"o\">*</span><span class=\"mi\">100</span><span class=\"si\">}</span><span class=\"s\">%'</span>\n <span class=\"n\">sys</span><span class=\"p\">.</span><span class=\"n\">stdout</span><span class=\"p\">.</span><span class=\"n\">write</span><span class=\"p\">(</span><span class=\"n\">text</span><span class=\"p\">)</span>\n <span class=\"n\">sys</span><span class=\"p\">.</span><span class=\"n\">stdout</span><span class=\"p\">.</span><span class=\"n\">flush</span><span class=\"p\">()</span>\n</code></pre></div> </div>\n\n </div>\n</div>\n</div>\n\n<h2 id=\"highlight-directive\">Highlight directive</h2>\n\n<p>Alternately, there is a <code class=\"language-plaintext highlighter-rouge\">highlight</code> Liquid directive you can try.\nIt looks like this:</p>\n\n<div class=\"example\">\n<div>\n<p>Code</p>\n\n<figure class=\"highlight\"><pre><code class=\"language-liquid\" data-lang=\"liquid\"><span class=\"p\">{%</span><span class=\"w\"> </span><span class=\"nt\">highlight</span><span class=\"w\"> </span>java<span class=\"w\"> </span><span class=\"p\">%}</span>\nlog.info(\"You're a wizard, Harry!\");\nlog.error(\"I'm a what?\");\n<span class=\"p\">{%</span><span class=\"w\"> </span><span class=\"nt\">endhighlight</span><span class=\"w\"> </span><span class=\"p\">%}</span></code></pre></figure>\n\n</div>\n<div>\n<p>Result</p>\n<div>\n\n <figure class=\"highlight\"><pre><code class=\"language-java\" data-lang=\"java\"><span class=\"n\">log</span><span class=\"o\">.</span><span class=\"na\">info</span><span class=\"o\">(</span><span class=\"s\">\"You're a wizard, Harry!\"</span><span class=\"o\">);</span>\n<span class=\"n\">log</span><span class=\"o\">.</span><span class=\"na\">error</span><span class=\"o\">(</span><span class=\"s\">\"I'm a what?\"</span><span class=\"o\">);</span></code></pre></figure>\n\n </div>\n</div>\n</div>\n\n<p>The <code class=\"language-plaintext highlighter-rouge\">highlight</code> directive and code fences are separate features, but\nfunctionally very similar. If code fences are not working as you like,\ngive the <code class=\"language-plaintext highlighter-rouge\">highlight</code> directive a try to see if it does any better.</p>\n\n<h2 id=\"line-numbers\">Line numbers</h2>\n\n<p>Right now, inline code snippets cannot have line numbers; see\n<a href=\"https://github.com/imagej/imagej.github.io/issues/128\">issue 128</a>\nfor technical details. For now, if you want to have line numbers, use the\n<a href=\"#embedding-external-code\">Embedding external code</a> approach below.</p>\n\n<div class=\"notice\" style=\"font-size: 2; background: #ffcccb; border-left: 10px solid #f57900\"><div class=\"notice-icon\"><img src=\"/media/icons/warning.png\" /></div><div class=\"notice-content\">\n<p>You might be familiar with the <code class=\"language-plaintext highlighter-rouge\">linenos</code> argument to the <code class=\"language-plaintext highlighter-rouge\">highlight</code> directive.\nPlease <strong><em>do not use this</em></strong>. As of this writing (Q3 2021), it produces badly\nformed HTML output, which can break wiki pages.</p>\n</div>\n</div>\n\n<h2 id=\"making-code-snippets-executable-and-editable\">Making code snippets executable and editable</h2>\n\n<p>By enabling the <code class=\"language-plaintext highlighter-rouge\">imjoy</code> extension, you can make your code snippets executable and editable.\nIt makes wiki pages more interactive, thus suited for building demos and tutorials.\nCurrently, it support ImageJ macro and ImJoy plugin scripts.</p>\n\n<p>To enable it, you need to:</p>\n<ol>\n <li>add <code class=\"language-plaintext highlighter-rouge\">imjoy</code> to <code class=\"language-plaintext highlighter-rouge\">extensions</code> in the <a href=\"/editing#add-the-pages-front-matter\">front matter</a> of your page;</li>\n <li>add a HTML comment <code class=\"language-plaintext highlighter-rouge\"><!-- ImJoyPlugin: { ... } --></code> before your code block. Inside the <code class=\"language-plaintext highlighter-rouge\">{}</code> you can pass settings for setting up the ImJoy plugin.</li>\n</ol>\n\n<p>Here is an example for making an ImageJ macro code snippet executable.</p>\n\n<p>First, enable the <code class=\"language-plaintext highlighter-rouge\">imjoy</code> extension in the beginning of your page:</p>\n<div class=\"language-yaml highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"nn\">---</span>\n<span class=\"na\">title</span><span class=\"pi\">:</span> <span class=\"s\">My Awesome Page</span>\n<span class=\"na\">extensions</span><span class=\"pi\">:</span> <span class=\"pi\">[</span><span class=\"s2\">\"</span><span class=\"s\">imjoy\"</span><span class=\"pi\">]</span>\n<span class=\"nn\">---</span>\n</code></pre></div></div>\n\n<p>Let’s say you have the following macro:</p>\n<div class=\"language-javascript highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"nx\">print</span><span class=\"p\">(</span><span class=\"dl\">\"</span><span class=\"s2\">hello world</span><span class=\"dl\">\"</span><span class=\"p\">);</span>\n</code></pre></div></div>\n\n<p>To make it executable, you just need to add an HTML comment:</p>\n<div class=\"language-markdown highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"c\"><!-- ImJoyPlugin: { \"type\": \"macro\"} --></span>\n<span class=\"p\">```</span><span class=\"nl\">javascript\n</span><span class=\"nx\">print</span><span class=\"p\">(</span><span class=\"dl\">\"</span><span class=\"s2\">hello world</span><span class=\"dl\">\"</span><span class=\"p\">);</span>\n<span class=\"p\">```</span>\n</code></pre></div></div>\n\n<p>For more detailed instructions about using ImageJ macro with ImageJ.JS, please refer to <a href=\"/software/imagej-js\">ImageJ.JS</a>.</p>\n\n<p>Similarily, you can execute an ImJoy plugin in code fences which can be used for integrating image viewers such as \n<a href=\"https://kaibu.org\">Kaibu</a>, <a href=\"https://github.com/hms-dbmi/vizarr\">vizarr</a> and <a href=\"https://kitware.github.io/itk-vtk-viewer/\">ITK/VTK viewer</a>, or running ImageJ2 and Fiji through <a href=\"/scripting/pyimagej\">PyImageJ</a> on a remote Jupyter server (e.g. on <a href=\"https://mybinder.org\">Binder</a>). For more details, please refer to <a href=\"/software/imjoy\">ImJoy</a>.</p>\n\n<h1 id=\"embedding-external-code\">Embedding external code</h1>\n\n<p>If you have code in a repository such as GitHub, GitLab, or BitBucket,\nyou can embed code blocks dynamically into the page using the\n<code class=\"language-plaintext highlighter-rouge\">code</code> include. This approach has the advantage of avoiding\ncopy-paste skew as the code evolves over time.</p>\n\n<p>Parameters supported by the <code class=\"language-plaintext highlighter-rouge\">code</code> include are:</p>\n\n<table>\n <thead>\n <tr>\n <th style=\"text-align: left\">Parameter</th>\n <th style=\"text-align: left\">Description</th>\n <th style=\"text-align: left\">Supported values</th>\n <th>Default</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">service</code></td>\n <td style=\"text-align: left\">Which repository hosting service</td>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">github</code>, <code class=\"language-plaintext highlighter-rouge\">gitlab</code>, <code class=\"language-plaintext highlighter-rouge\">bitbucket</code></td>\n <td><code class=\"language-plaintext highlighter-rouge\">github</code></td>\n </tr>\n <tr>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">org</code></td>\n <td style=\"text-align: left\">Name of the organization</td>\n <td style=\"text-align: left\">any string</td>\n <td>none</td>\n </tr>\n <tr>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">repo</code></td>\n <td style=\"text-align: left\">Name of the repository</td>\n <td style=\"text-align: left\">any string</td>\n <td>none</td>\n </tr>\n <tr>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">branch</code></td>\n <td style=\"text-align: left\">Which branch, tag, or commit</td>\n <td style=\"text-align: left\">any string</td>\n <td>none</td>\n </tr>\n <tr>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">path</code></td>\n <td style=\"text-align: left\">Path to the resource in source control</td>\n <td style=\"text-align: left\">any string</td>\n <td>none</td>\n </tr>\n <tr>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">line-start</code></td>\n <td style=\"text-align: left\">First line to embed</td>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">>= 1</code></td>\n <td><code class=\"language-plaintext highlighter-rouge\">1</code></td>\n </tr>\n <tr>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">line-end</code></td>\n <td style=\"text-align: left\">Last line to embed</td>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">>= 1</code></td>\n <td><code class=\"language-plaintext highlighter-rouge\">99999</code></td>\n </tr>\n <tr>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">label</code></td>\n <td style=\"text-align: left\">Hyperlinked label to place before the code</td>\n <td style=\"text-align: left\">any string</td>\n <td>no label</td>\n </tr>\n </tbody>\n</table>\n\n<h2 id=\"embedding-from-github\">Embedding from GitHub</h2>\n\n<div class=\"example\">\n<div>\n<p>Code</p>\n\n<figure class=\"highlight\"><pre><code class=\"language-liquid\" data-lang=\"liquid\"><span class=\"p\">{%</span><span class=\"w\"> </span><span class=\"nt\">include</span><span class=\"w\"> </span><span class=\"nv\">code</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">org</span><span class=\"o\">=</span><span class=\"s2\">\"duckythescientist\"</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">repo</span><span class=\"o\">=</span><span class=\"s2\">\"obfuscatedLife\"</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">branch</span><span class=\"o\">=</span><span class=\"s2\">\"original\"</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">path</span><span class=\"o\">=</span><span class=\"s2\">\"life.c\"</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">label</span><span class=\"o\">=</span><span class=\"s2\">\"Conway's Obfuscated Game of Life\"</span><span class=\"w\"> </span><span class=\"p\">%}</span></code></pre></figure>\n\n</div>\n<div>\n<p>Result</p>\n<div>\n\n <p><b><a href=\"https://github.com/duckythescientist/obfuscatedLife/blob/original/life.c\">Conway’s Obfuscated Game of Life</a></b><br />\n<script src=\"https://emgithub.com/embed.js?target=https%3A%2F%2Fgithub.com%2Fduckythescientist%2FobfuscatedLife%2Fblob%2Foriginal%2Flife.c%23L1-99999&style=github&showBorder=on&showLineNumbers=on&showFileMeta=on&showCopy=on\"></script></p>\n\n </div>\n</div>\n</div>\n\n<p>Additional parameters supported by embeds from GitHub specifically:</p>\n\n<table>\n <thead>\n <tr>\n <th style=\"text-align: left\">Parameter</th>\n <th style=\"text-align: left\">Description</th>\n <th style=\"text-align: left\">Supported values</th>\n <th>Default</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">style</code></td>\n <td style=\"text-align: left\">Syntax highlighting color scheme</td>\n <td style=\"text-align: left\">various<sup id=\"fnref:1\" role=\"doc-noteref\"><a href=\"#fn:1\" class=\"footnote\" rel=\"footnote\">1</a></sup></td>\n <td><code class=\"language-plaintext highlighter-rouge\">github</code></td>\n </tr>\n <tr>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">show-border</code></td>\n <td style=\"text-align: left\">Whether to draw a border around the frame</td>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">true</code> or <code class=\"language-plaintext highlighter-rouge\">false</code></td>\n <td><code class=\"language-plaintext highlighter-rouge\">true</code></td>\n </tr>\n <tr>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">show-line-numbers</code></td>\n <td style=\"text-align: left\">Whether to number the lines</td>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">true</code> or <code class=\"language-plaintext highlighter-rouge\">false</code></td>\n <td><code class=\"language-plaintext highlighter-rouge\">true</code></td>\n </tr>\n <tr>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">show-file-meta</code></td>\n <td style=\"text-align: left\">Whether to include the footer with links</td>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">true</code> or <code class=\"language-plaintext highlighter-rouge\">false</code></td>\n <td><code class=\"language-plaintext highlighter-rouge\">true</code></td>\n </tr>\n <tr>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">show-copy</code></td>\n <td style=\"text-align: left\">Whether to include the Copy button on mouseover</td>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">true</code> or <code class=\"language-plaintext highlighter-rouge\">false</code></td>\n <td><code class=\"language-plaintext highlighter-rouge\">true</code></td>\n </tr>\n </tbody>\n</table>\n\n<h2 id=\"embedding-from-gitlab\">Embedding from GitLab</h2>\n\n<p>We want to support embedding from GitLab, but it’s not implemented yet:</p>\n\n<div class=\"example\">\n<div>\n<p>Code</p>\n\n<figure class=\"highlight\"><pre><code class=\"language-liquid\" data-lang=\"liquid\"><span class=\"p\">{%</span><span class=\"w\"> </span><span class=\"nt\">include</span><span class=\"w\"> </span><span class=\"nv\">code</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">service</span><span class=\"o\">=</span><span class=\"s2\">\"gitlab\"</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">org</span><span class=\"o\">=</span><span class=\"s2\">\"tjian-darzacq-lab\"</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">repo</span><span class=\"o\">=</span><span class=\"s2\">\"Spot-On-TrackMate\"</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">branch</span><span class=\"o\">=</span><span class=\"s2\">\"master\"</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">path</span><span class=\"o\">=</span><span class=\"s2\">\"src/main/java/plugin/trackmate/action/ExportTracksToSpotOn.java\"</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">line-start</span><span class=\"o\">=</span><span class=\"mi\">91</span><span class=\"w\"> </span><span class=\"na\">line-end</span><span class=\"o\">=</span><span class=\"mi\">112</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">label</span><span class=\"o\">=</span><span class=\"s2\">\"Spot-On export TrackMate tracks to XML\"</span><span class=\"w\"> </span><span class=\"p\">%}</span></code></pre></figure>\n\n</div>\n<div>\n<p>Result</p>\n<div>\n\n <p><b><a href=\"https://gitlab.com/tjian-darzacq-lab/Spot-On-TrackMate/-/blob/master/src/main/java/plugin/trackmate/action/ExportTracksToSpotOn.java#L91-112#L91-112\">Spot-On export TrackMate tracks to XML</a></b><br /></p>\n <div class=\"notice\" style=\"font-size: 2; background: #ffcccb; border-left: 10px solid #f57900\"><div class=\"notice-icon\"><img src=\"/media/icons/warning.png\" /></div><div class=\"notice-content\">\n<p>Embedding content from GitLab is not yet supported.\nAre you a JavaScript developer who can make it happen?\n<a href=\"/discuss\">Reach out to us on the Image.sc Forum!</a></p>\n</div>\n</div>\n\n </div>\n</div>\n</div>\n\n<h2 id=\"embedding-from-bitbucket\">Embedding from BitBucket</h2>\n\n<p>We want to support embedding from GitLab, but it’s not implemented yet:</p>\n\n<div class=\"example\">\n<div>\n<p>Code</p>\n\n<figure class=\"highlight\"><pre><code class=\"language-liquid\" data-lang=\"liquid\"><span class=\"p\">{%</span><span class=\"w\"> </span><span class=\"nt\">include</span><span class=\"w\"> </span><span class=\"nv\">code</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">service</span><span class=\"o\">=</span><span class=\"s2\">\"bitbucket\"</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">org</span><span class=\"o\">=</span><span class=\"s2\">\"fernandoamat\"</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">repo</span><span class=\"o\">=</span><span class=\"s2\">\"keller-lab-block-filetype\"</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">branch</span><span class=\"o\">=</span><span class=\"s2\">\"d4755438000475d60e51ee2b793a7fd92c1be7fe\"</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">path</span><span class=\"o\">=</span><span class=\"s2\">\"src/main/java/org/janelia/simview/klb/KLB.java\"</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">line-start</span><span class=\"o\">=</span><span class=\"mi\">279</span><span class=\"w\"> </span><span class=\"na\">line-end</span><span class=\"o\">=</span><span class=\"mi\">297</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">label</span><span class=\"o\">=</span><span class=\"s2\">\"Reading KLB data as ImgLib2 image\"</span><span class=\"w\"> </span><span class=\"p\">%}</span></code></pre></figure>\n\n</div>\n<div>\n<p>Result</p>\n<div>\n\n <p><b><a href=\"https://bitbucket.org/fernandoamat/keller-lab-block-filetype/src/d4755438000475d60e51ee2b793a7fd92c1be7fe/src/main/java/org/janelia/simview/klb/KLB.java#lines-279:297#lines-279:297\">Reading KLB data as ImgLib2 image</a></b><br /></p>\n <div class=\"notice\" style=\"font-size: 2; background: #ffcccb; border-left: 10px solid #f57900\"><div class=\"notice-icon\"><img src=\"/media/icons/warning.png\" /></div><div class=\"notice-content\">\n<p>Embedding content from BitBucket is not yet supported.\nAre you a JavaScript developer who can make it happen?\n<a href=\"/discuss\">Reach out to us on the Image.sc Forum!</a></p>\n</div>\n</div>\n\n </div>\n</div>\n</div>\n\n<h1 id=\"footnotes\">Footnotes</h1>\n\n<div class=\"footnotes\" role=\"doc-endnotes\">\n <ol>\n <li id=\"fn:1\" role=\"doc-endnote\">\n <p>Valid style values for GitHub embeds are:</p>\n\n <ul style=\"column-width: 11em; list-style: none;\">\n<li>a11y-dark</li>\n<li>a11y-light</li>\n<li>agate</li>\n<li>an-old-hope</li>\n<li>androidstudio</li>\n<li>arduino-light</li>\n<li>arta</li>\n<li>ascetic</li>\n<li>atelier-cave-dark</li>\n<li>atelier-cave-light</li>\n<li>atelier-dune-dark</li>\n<li>atelier-dune-light</li>\n<li>atelier-estuary-dark</li>\n<li>atelier-estuary-light</li>\n<li>atelier-forest-dark</li>\n<li>atelier-forest-light</li>\n<li>atelier-heath-dark</li>\n<li>atelier-heath-light</li>\n<li>atelier-lakeside-dark</li>\n<li>atelier-lakeside-light</li>\n<li>atelier-plateau-dark</li>\n<li>atelier-plateau-light</li>\n<li>atelier-savanna-dark</li>\n<li>atelier-savanna-light</li>\n<li>atelier-seaside-dark</li>\n<li>atelier-seaside-light</li>\n<li>atelier-sulphurpool-dark</li>\n<li>atelier-sulphurpool-light</li>\n<li>atom-one-dark</li>\n<li>atom-one-dark-reasonable</li>\n<li>atom-one-light</li>\n<li>codepen-embed</li>\n<li>color-brewer</li>\n<li>darcula</li>\n<li>dark</li>\n<li>default</li>\n<li>docco</li>\n<li>dracula</li>\n<li>far</li>\n<li>foundation</li>\n<li>github</li>\n<li>github-gist</li>\n<li>gml</li>\n<li>googlecode</li>\n<li>gradient-dark</li>\n<li>grayscale</li>\n<li>gruvbox-dark</li>\n<li>gruvbox-light</li>\n<li>hopscotch</li>\n<li>hybrid</li>\n<li>idea</li>\n<li>ir-black</li>\n<li>isbl-editor-dark</li>\n<li>isbl-editor-light</li>\n<li>kimbie.dark</li>\n<li>kimbie.light</li>\n<li>lightfair</li>\n<li>magula</li>\n<li>mono-blue</li>\n<li>monokai</li>\n<li>monokai-sublime</li>\n<li>night-owl</li>\n<li>nord</li>\n<li>obsidian</li>\n<li>ocean</li>\n<li>paraiso-dark</li>\n<li>paraiso-light</li>\n<li>purebasic</li>\n<li>qtcreator_dark</li>\n<li>qtcreator_light</li>\n<li>railscasts</li>\n<li>rainbow</li>\n<li>routeros</li>\n<li>shades-of-purple</li>\n<li>solarized-dark</li>\n<li>solarized-light</li>\n<li>sunburst</li>\n<li>tomorrow</li>\n<li>tomorrow-night</li>\n<li>tomorrow-night-blue</li>\n<li>tomorrow-night-bright</li>\n<li>tomorrow-night-eighties</li>\n<li>vs</li>\n<li>vs2015</li>\n<li>xcode</li>\n<li>xt256</li>\n<li>zenburn</li>\n</ul>\n <p><a href=\"#fnref:1\" class=\"reversefootnote\" role=\"doc-backlink\">↩</a></p>\n </li>\n </ol>\n</div>\n\n </div>\n </div>\n </section>\n\n <!-- Footer -->\n <section id=\"footer\">\n <ul class=\"icons\">\n <li><a href=\"https://forum.image.sc/tag/imagej\" class=\"icon alt\"><img src=\"/media/icons/image-sc.png\" width=\"24\" style=\"vertical-align: middle; margin-top: -10px\"><span class=\"label\">Forum</span></a></li>\n\n <li><a href=\"https://twitter.com/hashtag/ImageJ\" class=\"icon brands alt fa-twitter\"><span class=\"label\">Twitter</span></a></li>\n <li><a href=\"https://github.com/imagej\" class=\"icon brands alt fa-github\"><span class=\"label\">GitHub</span></a></li>\n </ul>\n <ul class=\"copyright\">\n <li>Design: <a href=\"http://html5up.net\">HTML5 UP</a></li>\n </ul>\n</section>\n\n <!-- Hamburger menu -->\n <nav role=\"navigation\">\n <div id=\"ham-toggle\">\n <input type=\"checkbox\" />\n <span></span> <!-- top bun -->\n <span></span> <!-- hamburger -->\n <span></span> <!-- bottom bun -->\n <ul id=\"ham-menu\">\n <div class=\"menu\"><h3>ImageJ Docs</h3>\n <ul>\n <li><a href=\"/downloads\">Download</a></li>\n\n <li><details><summary>Learn</summary><ul>\n <li><details><summary><a href=\"/learn\">ImageJ Basics</a></summary><ul>\n <li><a href=\"/tutorials\">Tutorials</a></li>\n <li><a href=\"/learn/user-guides\">User Guides</a></li>\n <li><a href=\"/learn/keyboard-shortcuts\">Keyboard Shortcuts</a></li>\n <li><a href=\"/learn/tips-and-tricks\">Tips and Tricks</a></li>\n <li><a href=\"/learn/troubleshooting\">Troubleshooting</a></li>\n <li><a href=\"/learn/faq\">Frequently Asked Questions</a></li>\n\n <li><details><summary><a href=\"/platforms\">Supported Platforms</a></summary><ul>\n <li><a href=\"/platforms/windows\">Windows</a></li>\n <li><a href=\"/platforms/macos\">MacOS</a></li>\n <li><a href=\"/platforms/linux\">Linux</a></li>\n <li><a href=\"/platforms/pi\">Raspberry Pi</a></li>\n <li><a href=\"/platforms/android\">Android</a></li>\n </ul></details></li> <!-- Learn/ImageJ Basics/Supported Platforms -->\n\n <li><details><summary><a href=\"/formats\">File Formats</a></summary><ul>\n <li><a href=\"/formats/bio-formats\">Bio-Formats</a></li>\n <li><a href=\"/formats/video\">Video formats</a></li>\n <li><a href=\"/formats/quicktime\">QuickTime</a></li>\n <li><a href=\"/formats/tiff\">TIFF</a></li>\n <li><a href=\"/formats/pdf\">PDF</a></li>\n <li><a href=\"/formats/dicom\">DICOM</a></li>\n <li><a href=\"/formats/lsm\">Zeiss LSM</a></li>\n <li><a href=\"/formats/olympus\">Olympus VSI</a></li>\n <li><a href=\"/formats/lurawave\">Opera Flex</a></li>\n <li><a href=\"/formats/fib-sem\">FIB-SEM</a></li>\n </ul></details></li> <!-- Learn/ImageJ Basics/File Formats -->\n </ul></details></li> <!-- Learn/ImageJ -->\n\n <li><details><summary><a href=\"/imaging\">Scientific Imaging</a></summary><ul>\n <li><a href=\"/imaging/principles\">Principles of Scientific Imaging</a></li>\n <li><a href=\"/imaging/annotating-images\">Annotating Images</a></li>\n <li><a href=\"/imaging/colocalization-analysis\">Colocalization</a></li>\n <li><a href=\"/imaging/color-image-processing\">Color Image Processing</a></li>\n <li><a href=\"/imaging/deconvolution\">Deconvolution</a></li>\n <li><a href=\"/imaging/image-intensity-processing\">Image Intensity Processing</a></li>\n <li><a href=\"/imaging/particle-analysis\">Particle Analysis</a></li>\n <li><a href=\"/imaging/registration\">Registration</a></li>\n <li><a href=\"/imaging/segmentation\">Segmentation</a></li>\n <li><a href=\"/imaging/stack-slice-manipulations\">Stack-slice Manipulations</a></li>\n <li><a href=\"/imaging/t-functions\">T-functions</a></li>\n <li><a href=\"/imaging/tracking\">Tracking</a></li>\n <li><a href=\"/imaging/visualization\">Visualization</a></li>\n <li><a href=\"/imaging/z-functions\">Z-functions</a></li>\n </ul></details></li> <!-- Learn/Scientific Imaging -->\n </ul></details></li> <!-- Learn -->\n\n <li><details><summary><a href=\"/plugins\">Extend</a></summary><ul>\n <li><a href=\"/list-of-extensions\">List of Extensions</a></li>\n\n <li><details><summary><a href=\"/update-sites\">Update Sites</a></summary><ul>\n <li><a href=\"/list-of-update-sites\">List of Update Sites</a></li>\n <li><a href=\"/update-sites/following\">Following an Update Site</a></li>\n <li><a href=\"/update-sites/setup\">Creating an Update Site</a></li>\n <li><a href=\"/update-sites/tos\">Terms of Service</a></li>\n <li><a href=\"/update-sites/automatic-uploads\">Automatic Upload</a></li>\n <li><a href=\"/update-sites/core-uploads\">Uploading to Core Sites</a></li>\n <li><a href=\"/update-sites/faq\">Update Sites FAQ</a></li>\n <li><a href=\"/update-sites/stats\">Statistics</a></li>\n </ul></details></li> <!-- Extend/Update Sites -->\n\n <li><details><summary><a href=\"/scripting\">Scripting</a></summary><ul>\n <li><a href=\"/scripting/basics\">Scripting Basics</a></li>\n <li><a href=\"/scripting/script-editor\">Script Editor</a></li>\n <li><a href=\"/scripting/parameters\">Parameters</a></li>\n <li><a href=\"/scripting/user-input\">User Input</a></li>\n <li><a href=\"/scripting/auto-imports\">Auto Import</a></li>\n <li><a href=\"/scripting/templates\">Templates</a></li>\n <li><a href=\"/scripting/batch\">Batch Processing</a></li>\n <li><a href=\"/scripting/headless\">Running Headlessly</a></li>\n <li><a href=\"/scripting/comparisons\">Scripting Comparisons</a></li>\n <li><a href=\"/scripting/toolbox\">Toolbox</a></li>\n\n <li><details><summary>Languages</summary><ul>\n <li><a href=\"/scripting/beanshell\">BeanShell Scripting</a></li>\n <li><a href=\"/scripting/groovy\">Groovy Scripting</a></li>\n <li><a href=\"/scripting/macro\">ImageJ Macro</a></li>\n <li><a href=\"/scripting/javascript\">JavaScript</a></li>\n <li><a href=\"/scripting/clojure\">Lisp (Clojure)</a></li>\n <li><a href=\"/scripting/matlab\">MATLAB</a></li>\n <li><a href=\"/scripting/jython\">Python (Jython)</a></li>\n <li><a href=\"/scripting/python\">Python (native)</a></li>\n <li><a href=\"/scripting/renjin\">R (Renjin)</a></li>\n <li><a href=\"/scripting/jruby\">Ruby (JRuby)</a></li>\n <li><a href=\"/scripting/scala\">Scala Scripting</a></li>\n </ul></details></li> <!-- Extend/Scripting/Languages -->\n </ul></details></li> <!-- Extend/Scripting -->\n\n <li><details><summary><a href=\"/develop\">Development</a></summary><ul>\n <li><a href=\"/develop/philosophy\">Philosophy</a></li>\n <li><a href=\"/develop/architecture\">Architecture</a></li>\n <li><a href=\"/develop/source\">Source code</a></li>\n <li><a href=\"/develop/project-management\">Project management</a></li>\n <li><a href=\"/develop/coding-style\">Coding style</a></li>\n <li><a href=\"/develop/javadoc\">Using Javadoc</a></li>\n <li><a href=\"/develop/debugging\">Debugging</a></li>\n <li><a href=\"/develop/wish-list\">Wish list</a></li>\n\n <li><details><summary>Tools</summary><ul>\n <li><a href=\"/develop/github\">GitHub</a></li>\n <li><a href=\"/develop/maven\">Maven</a></li>\n <li><a href=\"/develop/ci\">CI/CD</a></li>\n <li><a href=\"/develop/dotfiles\">Dotfiles</a></li>\n\n <li><details><summary><a href=\"/develop/ides\">IDEs</a></summary><ul>\n <li><a href=\"/develop/eclipse\">Eclipse</a></li>\n <li><a href=\"/develop/netbeans\">NetBeans</a></li>\n <li><a href=\"/develop/intellij\">IntelliJ IDEA</a></li>\n <li><a href=\"/develop/command-line\">Command Line</a></li>\n </ul></details></li>\n </ul></details></li> <!-- Extend/Development/Tools -->\n\n <li><details><summary>Guides</summary><ul>\n <li><a href=\"/develop/plugins\">Writing plugins</a></li>\n <li><a href=\"/develop/improving-the-code\">Contributing to a plugin</a></li>\n <li><a href=\"/develop/releasing\">Development lifecycle</a></li>\n <li><a href=\"/develop/building-a-pom\">Building a POM</a></li>\n <li><a href=\"/develop/debugging-exercises\">Hands-on debugging</a></li>\n <li><a href=\"/develop/writing-ops\">Adding new ops</a></li>\n <li><a href=\"/develop/formats\">Adding new formats</a></li>\n <li><a href=\"/develop/native-libraries\">Using native libraries</a></li>\n <li><a href=\"/develop/tips\">Tips for developers</a></li>\n <li><a href=\"/develop/cpp-tips\">Tips for C++ developers</a></li>\n <li><a href=\"/develop/ij1-plugins\">ImageJ 1.x plugins</a></li>\n <li><a href=\"/develop/versioning\">Versioning</a></li>\n <li><a href=\"/develop/logging\">Logging</a></li>\n <li><a href=\"/develop/uber-jars\">Uber-JARs</a></li>\n </ul></details></li> <!-- Extend/Development/Guides -->\n\n <li><details><summary><a href=\"/develop/git\">Git</a></summary><ul>\n <li><a href=\"/develop/git/eclipse\">Git in Eclipse (EGit)</a></li>\n <li><a href=\"/develop/git/mini-howto\">Git mini howto</a></li>\n <li><a href=\"/develop/git/workshop\">Git workshop</a></li>\n <li><a href=\"/develop/git/conflicts\">Git conflicts</a></li>\n <li><a href=\"/develop/git/topic-branches\">Git topic branches</a></li>\n <li><a href=\"/develop/git/notes\">Git notes</a></li>\n <li><a href=\"/develop/git/reflogs\">Git reflogs</a></li>\n <li><a href=\"/develop/git/submodules\">Git submodules</a></li>\n <li><a href=\"/develop/git/pinpoint-regressions\">How to pinpoint regressions</a></li>\n <li><a href=\"/develop/git/publish-a-repository\">How to publish a git repository</a></li>\n <li><a href=\"/develop/git/extract-a-subproject\">How to extract a subproject</a></li>\n </ul></details></li> <!-- Extend/Development/Git -->\n </ul></details></li> <!-- Extend/Development -->\n </ul></details></li> <!-- Extend -->\n\n <li><details open><summary><a href=\"/contribute\">Contribute</a></summary><ul>\n <li><a href=\"/contribute/citing\">Citing</a></li>\n <li><a href=\"/people\">Contributors</a></li>\n <li><a href=\"/orgs\">Organizations</a></li>\n <li><a href=\"/contribute/governance\">Governance</a></li>\n <li><a href=\"/contribute/funding\">Funding</a></li>\n <li><a href=\"/contribute/fiji\">Contributing to Fiji</a></li>\n\n <li><details><summary><a href=\"/licensing\">Licensing</a></summary><ul>\n <li><details><summary><a href=\"/licensing/open-source\">Open Source</a></summary><ul>\n <li><a href=\"/licensing/apache\">Apache</a></li>\n <li><a href=\"/licensing/bsd\">BSD</a></li>\n <li><a href=\"/licensing/epl\">EPL</a></li>\n <li><a href=\"/licensing/gpl\">GPL</a></li>\n <li><a href=\"/licensing/lgpl\">LGPL</a></li>\n <li><a href=\"/licensing/mit\">MIT</a></li>\n <li><a href=\"/licensing/public-domain\">Public domain</a></li>\n <li><a href=\"/licensing/big\">BIG</a></li>\n </ul></details></li> <!-- Contribute/Licensing/Open Source -->\n\n <li><a href=\"/licensing/closed-source\">Proprietary</a></li>\n </ul></details></li> <!-- Contribute/Licensing -->\n\n <li><details open><summary><a href=\"/editing\">Editing the Wiki</a></summary><ul>\n <li><a href=\"/editing/advanced\">Advanced Editing</a></li>\n <li><a href=\"/editing/buttons\">Buttons</a></li>\n <li><a href=\"/editing/citations\">Citations</a></li>\n <li><a class=\"current-page\">Source Code</a></li>\n <li><a href=\"/editing/debugging\">Debugging</a></li>\n <li><a href=\"/editing/headers\">Headers</a></li>\n <li><a href=\"/editing/icons\">Icons</a></li>\n <li><a href=\"/editing/images\">Images</a></li>\n <li><a href=\"/editing/keys\">Keyboard Shortcuts</a></li>\n <li><a href=\"/editing/linking\">Linking</a></li>\n <li><a href=\"/editing/math\">Math Expressions</a></li>\n <li><a href=\"/editing/menu-paths\">Menu Paths</a></li>\n <li><a href=\"/editing/navigation\">Navigation</a></li>\n <li><a href=\"/editing/notices\">Notices</a></li>\n <li><a href=\"/editing/people\">People</a></li>\n <li><a href=\"/editing/pitfalls\">Pitfalls</a></li>\n <li><a href=\"/editing/quizzes\">Quizzes</a></li>\n <li><a href=\"/editing/statbox\">Statbox</a></li>\n <li><a href=\"/editing/symbols\">Symbols</a></li>\n <li><a href=\"/editing/tables\">Tables</a></li>\n <li><a href=\"/editing/timelines\">Timelines</a></li>\n <li><a href=\"/editing/tooltips\">Tooltips</a></li>\n <li><a href=\"/editing/videos\">Videos</a></li>\n <li><a href=\"/editing/whitespace\">Whitespace</a></li>\n </ul></details></li> <!-- Contribute/Editing the Wiki -->\n </ul></details></li> <!-- Contribute -->\n\n <li><details><summary><a href=\"/discuss\">Discuss</a></summary><ul>\n <li><a href=\"/discuss/bugs\">Reporting Issues</a></li>\n <li><a href=\"/discuss/mailing-lists\">Mailing Lists</a></li>\n <li><a href=\"/discuss/chat\">Chat</a></li>\n </ul></details></li> <!-- Discuss -->\n\n <li><details><summary>Explore</summary><ul>\n <li><a href=\"/news\">News</a></li>\n\n <li><details><summary><a href=\"/events\">Events</a></summary><ul>\n <li><a href=\"/events/presentations\">Presentations</a></li>\n <li><a href=\"/events/conferences\">Conferences</a></li>\n <li><a href=\"/events/hackathons\">Hackathons</a></li>\n <li><a href=\"/events\">More...</a></li>\n </ul></details></li> <!-- Discuss/Events -->\n\n <li><details><summary><a href=\"/libs\">Libraries</a></summary><ul>\n <li><a href=\"/libs/imagej-ops\">ImageJ Ops</a></li>\n <li><a href=\"/libs/imagej-common\">ImageJ Common</a></li>\n <li><a href=\"/libs/imagej-legacy\">ImageJ Legacy</a></li>\n <li><a href=\"/libs/scijava\">SciJava</a></li>\n <li><a href=\"/libs/scifio\">SCIFIO</a></li>\n\n <li><details><summary><a href=\"/libs/imglib2\">ImgLib2</a></summary><ul>\n <li><a href=\"/libs/imglib2/getting-started\">Getting Started</a></li>\n <li><a href=\"/libs/imglib2/accessors\">Accessors</a></li>\n <li><a href=\"/libs/imglib2/accessibles\">Accessibles</a></li>\n <li><a href=\"/libs/imglib2/examples\">Examples</a></li>\n <li><a href=\"/libs/imglib2/workshop-introductory\">Introductory Workshop</a></li>\n <li><a href=\"/libs/imglib2/workshop-advanced\">Advanced Workshop</a></li>\n <li><a href=\"/libs/imglib2/matlab\">ImgLib2 images in MATLAB</a></li>\n <li><a href=\"/libs/imglib2/benchmarks\">Benchmarks</a></li>\n <li><a href=\"/libs/imglib2/faq\">FAQ</a></li>\n <li><a href=\"/libs/imglib2/developing\">Developing ImgLib2</a></li>\n <li><a href=\"/libs/imglib2/discussion\">ImgLib2 Discussion</a></li>\n </ul></details></li> <!-- Explore/Libraries/ImgLib2 -->\n \n <li><a href=\"/libs\">More...</a></li>\n </ul></details></li> <!-- Explore/Libraries -->\n\n <li><details><summary><a href=\"/software\">Software</a></summary><ul>\n <li><a href=\"/software/nih-image\">NIH Image</a></li>\n <li><a href=\"/software/imagej\">ImageJ</a></li>\n <li><a href=\"/software/imagej2\">ImageJ2</a></li>\n <li><a href=\"/software/fiji\">Fiji</a></li>\n <li><a href=\"/software\">More...</a></li>\n </ul></details></li> <!-- Explore/Software -->\n </ul></details></li> <!-- Explore -->\n </ul>\n </div>\n </ul>\n </div>\n </nav>\n\n <div id=\"dock-overlay-left\" class=\"dock-overlay\" data-dock-target=\"left-column\"></div>\n <div id=\"dock-overlay-right\" class=\"dock-overlay\" data-dock-target=\"right-column\"></div>\n\n <!-- Search results -->\n <div id=\"search-results\">\n <div id=\"search-hits\"></div>\n <div id=\"pagination\"></div>\n</div>\n\n <!-- Scripts -->\n <!-- Libraries -->\n<script src=\"/assets/js/jquery.min.js\"></script>\n<script src=\"/assets/js/jquery.scrolly.min.js\"></script>\n<script src=\"/assets/js/browser.min.js\"></script>\n<script src=\"/assets/js/breakpoints.min.js\"></script>\n<script src=\"/assets/js/util.js\"></script>\n<script src=\"/assets/js/jquery.toc.js\"></script>\n<script src=\"/assets/js/lightbox.min.js\"></script>\n<!-- Extensions -->\n\n<!-- Site code -->\n<script src=\"/assets/js/main.js\"></script>\n<script src=\"/assets/js/dock.js\"></script>\n<script src=\"/assets/js/code.js\"></script>\n<!-- Anchors -->\n<script src=\"https://cdn.jsdelivr.net/npm/anchor-js/anchor.min.js\"></script>\n<script>anchors.add('#page h1, #page h2, #page h3, #page h4, #page h5, #page h6');</script>\n<!-- Citations -->\n<script src=\"https://cdn.jsdelivr.net/npm/citation-js@0.4.0-9\"></script>\n<script src=\"/assets/js/cite.js\"></script>\n<!-- Search -->\n<script src=\"https://cdn.jsdelivr.net/npm/algoliasearch@4.13.0/dist/algoliasearch-lite.umd.js\"></script>\n<script src=\"https://cdn.jsdelivr.net/npm/instantsearch.js@4.40.3/dist/instantsearch.production.min.js\"></script>\n<script src=\"/assets/js/search.js\"></script>\n<script src=\"/assets/js/search-tweaks.js\"></script>\n </body>\n</html>\n",
"content": "<p>This page describes nice ways of embedding source code in a page.</p>\n\n<h1 id=\"inline-code-snippets\">Inline code snippets</h1>\n\n<p>If you just want to write a short snippet of code as part of a sentence,\nsurround the code in backtick symbols (<code>`</code>).</p>\n\n<div class=\"example\">\n<div>\n<p>Code</p>\n\n<figure class=\"highlight\"><pre><code class=\"language-liquid\" data-lang=\"liquid\">Type `print('Hello world!')` and save as `hello.py`.</code></pre></figure>\n\n</div>\n<div>\n<p>Result</p>\n<div>\n\n <p>Type <code class=\"language-plaintext highlighter-rouge\">print('Hello world!')</code> and save as <code class=\"language-plaintext highlighter-rouge\">hello.py</code>.</p>\n\n </div>\n</div>\n</div>\n\n<h2 id=\"code-fences\">Code fences</h2>\n\n<p>A “code fence” is three backtick symbols (<code>```</code>) preceding your\ncode, and another three concluding it. Optionally, you can write the name of\nthe language in small case next to the leading fence to declare syntax\nhighlighting is desired with the stated language.</p>\n\n<p><strong>NB:</strong> code fence syntax highlighting is currently not working locally due to\ndifferences in local build configuration. However, highlighting <em>will</em> display as\nappropriate on the public wiki.</p>\n\n<h3 id=\"java-example\">Java example</h3>\n\n<div class=\"example\">\n<div>\n<p>Code</p>\n\n<figure class=\"highlight\"><pre><code class=\"language-liquid\" data-lang=\"liquid\">```java\nImage3DUniverse univ = new Image3DUniverse();\nuniv.show();\nuniv.addMesh(yourImagePlus, null, \"somename\", 50,\n new boolean[] {true, true, true}, 2);\n```</code></pre></figure>\n\n</div>\n<div>\n<p>Result</p>\n<div>\n\n <div class=\"language-java highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"nc\">Image3DUniverse</span> <span class=\"n\">univ</span> <span class=\"o\">=</span> <span class=\"k\">new</span> <span class=\"nc\">Image3DUniverse</span><span class=\"o\">();</span>\n<span class=\"n\">univ</span><span class=\"o\">.</span><span class=\"na\">show</span><span class=\"o\">();</span>\n<span class=\"n\">univ</span><span class=\"o\">.</span><span class=\"na\">addMesh</span><span class=\"o\">(</span><span class=\"n\">yourImagePlus</span><span class=\"o\">,</span> <span class=\"kc\">null</span><span class=\"o\">,</span> <span class=\"s\">\"somename\"</span><span class=\"o\">,</span> <span class=\"mi\">50</span><span class=\"o\">,</span>\n <span class=\"k\">new</span> <span class=\"kt\">boolean</span><span class=\"o\">[]</span> <span class=\"o\">{</span><span class=\"kc\">true</span><span class=\"o\">,</span> <span class=\"kc\">true</span><span class=\"o\">,</span> <span class=\"kc\">true</span><span class=\"o\">},</span> <span class=\"mi\">2</span><span class=\"o\">);</span>\n</code></pre></div> </div>\n\n </div>\n</div>\n</div>\n\n<h3 id=\"python-example\">Python example</h3>\n\n<div class=\"example\">\n<div>\n<p>Code</p>\n\n<figure class=\"highlight\"><pre><code class=\"language-liquid\" data-lang=\"liquid\">```python\ndef update_progress(progress):\n barLength = 10 # length of progress bar\n block = int(round(barLength*progress))\n text = f'\\rPercent complete: ' +\n f'[{\"#\"*block + \"-\"*(barLength-block)}] ' +\n f'{progress*100}%'\n sys.stdout.write(text)\n sys.stdout.flush()\n```</code></pre></figure>\n\n</div>\n<div>\n<p>Result</p>\n<div>\n\n <div class=\"language-python highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"k\">def</span> <span class=\"nf\">update_progress</span><span class=\"p\">(</span><span class=\"n\">progress</span><span class=\"p\">):</span>\n <span class=\"n\">barLength</span> <span class=\"o\">=</span> <span class=\"mi\">10</span> <span class=\"c1\"># length of progress bar\n</span> <span class=\"n\">block</span> <span class=\"o\">=</span> <span class=\"nb\">int</span><span class=\"p\">(</span><span class=\"nb\">round</span><span class=\"p\">(</span><span class=\"n\">barLength</span><span class=\"o\">*</span><span class=\"n\">progress</span><span class=\"p\">))</span>\n <span class=\"n\">text</span> <span class=\"o\">=</span> <span class=\"sa\">f</span><span class=\"s\">'</span><span class=\"se\">\\r</span><span class=\"s\">Percent complete: '</span> <span class=\"o\">+</span>\n <span class=\"sa\">f</span><span class=\"s\">'[</span><span class=\"si\">{</span><span class=\"s\">\"#\"</span><span class=\"o\">*</span><span class=\"n\">block</span> <span class=\"o\">+</span> <span class=\"s\">\"-\"</span><span class=\"o\">*</span><span class=\"p\">(</span><span class=\"n\">barLength</span><span class=\"o\">-</span><span class=\"n\">block</span><span class=\"p\">)</span><span class=\"si\">}</span><span class=\"s\">] '</span> <span class=\"o\">+</span>\n <span class=\"sa\">f</span><span class=\"s\">'</span><span class=\"si\">{</span><span class=\"n\">progress</span><span class=\"o\">*</span><span class=\"mi\">100</span><span class=\"si\">}</span><span class=\"s\">%'</span>\n <span class=\"n\">sys</span><span class=\"p\">.</span><span class=\"n\">stdout</span><span class=\"p\">.</span><span class=\"n\">write</span><span class=\"p\">(</span><span class=\"n\">text</span><span class=\"p\">)</span>\n <span class=\"n\">sys</span><span class=\"p\">.</span><span class=\"n\">stdout</span><span class=\"p\">.</span><span class=\"n\">flush</span><span class=\"p\">()</span>\n</code></pre></div> </div>\n\n </div>\n</div>\n</div>\n\n<h2 id=\"highlight-directive\">Highlight directive</h2>\n\n<p>Alternately, there is a <code class=\"language-plaintext highlighter-rouge\">highlight</code> Liquid directive you can try.\nIt looks like this:</p>\n\n<div class=\"example\">\n<div>\n<p>Code</p>\n\n<figure class=\"highlight\"><pre><code class=\"language-liquid\" data-lang=\"liquid\"><span class=\"p\">{%</span><span class=\"w\"> </span><span class=\"nt\">highlight</span><span class=\"w\"> </span>java<span class=\"w\"> </span><span class=\"p\">%}</span>\nlog.info(\"You're a wizard, Harry!\");\nlog.error(\"I'm a what?\");\n<span class=\"p\">{%</span><span class=\"w\"> </span><span class=\"nt\">endhighlight</span><span class=\"w\"> </span><span class=\"p\">%}</span></code></pre></figure>\n\n</div>\n<div>\n<p>Result</p>\n<div>\n\n <figure class=\"highlight\"><pre><code class=\"language-java\" data-lang=\"java\"><span class=\"n\">log</span><span class=\"o\">.</span><span class=\"na\">info</span><span class=\"o\">(</span><span class=\"s\">\"You're a wizard, Harry!\"</span><span class=\"o\">);</span>\n<span class=\"n\">log</span><span class=\"o\">.</span><span class=\"na\">error</span><span class=\"o\">(</span><span class=\"s\">\"I'm a what?\"</span><span class=\"o\">);</span></code></pre></figure>\n\n </div>\n</div>\n</div>\n\n<p>The <code class=\"language-plaintext highlighter-rouge\">highlight</code> directive and code fences are separate features, but\nfunctionally very similar. If code fences are not working as you like,\ngive the <code class=\"language-plaintext highlighter-rouge\">highlight</code> directive a try to see if it does any better.</p>\n\n<h2 id=\"line-numbers\">Line numbers</h2>\n\n<p>Right now, inline code snippets cannot have line numbers; see\n<a href=\"https://github.com/imagej/imagej.github.io/issues/128\">issue 128</a>\nfor technical details. For now, if you want to have line numbers, use the\n<a href=\"#embedding-external-code\">Embedding external code</a> approach below.</p>\n\n<div class=\"notice\" style=\"font-size: 2; background: #ffcccb; border-left: 10px solid #f57900\"><div class=\"notice-icon\"><img src=\"/media/icons/warning.png\" /></div><div class=\"notice-content\">\n<p>You might be familiar with the <code class=\"language-plaintext highlighter-rouge\">linenos</code> argument to the <code class=\"language-plaintext highlighter-rouge\">highlight</code> directive.\nPlease <strong><em>do not use this</em></strong>. As of this writing (Q3 2021), it produces badly\nformed HTML output, which can break wiki pages.</p>\n</div>\n</div>\n\n<h2 id=\"making-code-snippets-executable-and-editable\">Making code snippets executable and editable</h2>\n\n<p>By enabling the <code class=\"language-plaintext highlighter-rouge\">imjoy</code> extension, you can make your code snippets executable and editable.\nIt makes wiki pages more interactive, thus suited for building demos and tutorials.\nCurrently, it support ImageJ macro and ImJoy plugin scripts.</p>\n\n<p>To enable it, you need to:</p>\n<ol>\n <li>add <code class=\"language-plaintext highlighter-rouge\">imjoy</code> to <code class=\"language-plaintext highlighter-rouge\">extensions</code> in the <a href=\"/editing#add-the-pages-front-matter\">front matter</a> of your page;</li>\n <li>add a HTML comment <code class=\"language-plaintext highlighter-rouge\"><!-- ImJoyPlugin: { ... } --></code> before your code block. Inside the <code class=\"language-plaintext highlighter-rouge\">{}</code> you can pass settings for setting up the ImJoy plugin.</li>\n</ol>\n\n<p>Here is an example for making an ImageJ macro code snippet executable.</p>\n\n<p>First, enable the <code class=\"language-plaintext highlighter-rouge\">imjoy</code> extension in the beginning of your page:</p>\n<div class=\"language-yaml highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"nn\">---</span>\n<span class=\"na\">title</span><span class=\"pi\">:</span> <span class=\"s\">My Awesome Page</span>\n<span class=\"na\">extensions</span><span class=\"pi\">:</span> <span class=\"pi\">[</span><span class=\"s2\">\"</span><span class=\"s\">imjoy\"</span><span class=\"pi\">]</span>\n<span class=\"nn\">---</span>\n</code></pre></div></div>\n\n<p>Let’s say you have the following macro:</p>\n<div class=\"language-javascript highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"nx\">print</span><span class=\"p\">(</span><span class=\"dl\">\"</span><span class=\"s2\">hello world</span><span class=\"dl\">\"</span><span class=\"p\">);</span>\n</code></pre></div></div>\n\n<p>To make it executable, you just need to add an HTML comment:</p>\n<div class=\"language-markdown highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"c\"><!-- ImJoyPlugin: { \"type\": \"macro\"} --></span>\n<span class=\"p\">```</span><span class=\"nl\">javascript\n</span><span class=\"nx\">print</span><span class=\"p\">(</span><span class=\"dl\">\"</span><span class=\"s2\">hello world</span><span class=\"dl\">\"</span><span class=\"p\">);</span>\n<span class=\"p\">```</span>\n</code></pre></div></div>\n\n<p>For more detailed instructions about using ImageJ macro with ImageJ.JS, please refer to <a href=\"/software/imagej-js\">ImageJ.JS</a>.</p>\n\n<p>Similarily, you can execute an ImJoy plugin in code fences which can be used for integrating image viewers such as \n<a href=\"https://kaibu.org\">Kaibu</a>, <a href=\"https://github.com/hms-dbmi/vizarr\">vizarr</a> and <a href=\"https://kitware.github.io/itk-vtk-viewer/\">ITK/VTK viewer</a>, or running ImageJ2 and Fiji through <a href=\"/scripting/pyimagej\">PyImageJ</a> on a remote Jupyter server (e.g. on <a href=\"https://mybinder.org\">Binder</a>). For more details, please refer to <a href=\"/software/imjoy\">ImJoy</a>.</p>\n\n<h1 id=\"embedding-external-code\">Embedding external code</h1>\n\n<p>If you have code in a repository such as GitHub, GitLab, or BitBucket,\nyou can embed code blocks dynamically into the page using the\n<code class=\"language-plaintext highlighter-rouge\">code</code> include. This approach has the advantage of avoiding\ncopy-paste skew as the code evolves over time.</p>\n\n<p>Parameters supported by the <code class=\"language-plaintext highlighter-rouge\">code</code> include are:</p>\n\n<table>\n <thead>\n <tr>\n <th style=\"text-align: left\">Parameter</th>\n <th style=\"text-align: left\">Description</th>\n <th style=\"text-align: left\">Supported values</th>\n <th>Default</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">service</code></td>\n <td style=\"text-align: left\">Which repository hosting service</td>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">github</code>, <code class=\"language-plaintext highlighter-rouge\">gitlab</code>, <code class=\"language-plaintext highlighter-rouge\">bitbucket</code></td>\n <td><code class=\"language-plaintext highlighter-rouge\">github</code></td>\n </tr>\n <tr>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">org</code></td>\n <td style=\"text-align: left\">Name of the organization</td>\n <td style=\"text-align: left\">any string</td>\n <td>none</td>\n </tr>\n <tr>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">repo</code></td>\n <td style=\"text-align: left\">Name of the repository</td>\n <td style=\"text-align: left\">any string</td>\n <td>none</td>\n </tr>\n <tr>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">branch</code></td>\n <td style=\"text-align: left\">Which branch, tag, or commit</td>\n <td style=\"text-align: left\">any string</td>\n <td>none</td>\n </tr>\n <tr>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">path</code></td>\n <td style=\"text-align: left\">Path to the resource in source control</td>\n <td style=\"text-align: left\">any string</td>\n <td>none</td>\n </tr>\n <tr>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">line-start</code></td>\n <td style=\"text-align: left\">First line to embed</td>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">>= 1</code></td>\n <td><code class=\"language-plaintext highlighter-rouge\">1</code></td>\n </tr>\n <tr>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">line-end</code></td>\n <td style=\"text-align: left\">Last line to embed</td>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">>= 1</code></td>\n <td><code class=\"language-plaintext highlighter-rouge\">99999</code></td>\n </tr>\n <tr>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">label</code></td>\n <td style=\"text-align: left\">Hyperlinked label to place before the code</td>\n <td style=\"text-align: left\">any string</td>\n <td>no label</td>\n </tr>\n </tbody>\n</table>\n\n<h2 id=\"embedding-from-github\">Embedding from GitHub</h2>\n\n<div class=\"example\">\n<div>\n<p>Code</p>\n\n<figure class=\"highlight\"><pre><code class=\"language-liquid\" data-lang=\"liquid\"><span class=\"p\">{%</span><span class=\"w\"> </span><span class=\"nt\">include</span><span class=\"w\"> </span><span class=\"nv\">code</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">org</span><span class=\"o\">=</span><span class=\"s2\">\"duckythescientist\"</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">repo</span><span class=\"o\">=</span><span class=\"s2\">\"obfuscatedLife\"</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">branch</span><span class=\"o\">=</span><span class=\"s2\">\"original\"</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">path</span><span class=\"o\">=</span><span class=\"s2\">\"life.c\"</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">label</span><span class=\"o\">=</span><span class=\"s2\">\"Conway's Obfuscated Game of Life\"</span><span class=\"w\"> </span><span class=\"p\">%}</span></code></pre></figure>\n\n</div>\n<div>\n<p>Result</p>\n<div>\n\n <p><b><a href=\"https://github.com/duckythescientist/obfuscatedLife/blob/original/life.c\">Conway’s Obfuscated Game of Life</a></b><br />\n<script src=\"https://emgithub.com/embed.js?target=https%3A%2F%2Fgithub.com%2Fduckythescientist%2FobfuscatedLife%2Fblob%2Foriginal%2Flife.c%23L1-99999&style=github&showBorder=on&showLineNumbers=on&showFileMeta=on&showCopy=on\"></script></p>\n\n </div>\n</div>\n</div>\n\n<p>Additional parameters supported by embeds from GitHub specifically:</p>\n\n<table>\n <thead>\n <tr>\n <th style=\"text-align: left\">Parameter</th>\n <th style=\"text-align: left\">Description</th>\n <th style=\"text-align: left\">Supported values</th>\n <th>Default</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">style</code></td>\n <td style=\"text-align: left\">Syntax highlighting color scheme</td>\n <td style=\"text-align: left\">various<sup id=\"fnref:1\" role=\"doc-noteref\"><a href=\"#fn:1\" class=\"footnote\" rel=\"footnote\">1</a></sup></td>\n <td><code class=\"language-plaintext highlighter-rouge\">github</code></td>\n </tr>\n <tr>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">show-border</code></td>\n <td style=\"text-align: left\">Whether to draw a border around the frame</td>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">true</code> or <code class=\"language-plaintext highlighter-rouge\">false</code></td>\n <td><code class=\"language-plaintext highlighter-rouge\">true</code></td>\n </tr>\n <tr>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">show-line-numbers</code></td>\n <td style=\"text-align: left\">Whether to number the lines</td>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">true</code> or <code class=\"language-plaintext highlighter-rouge\">false</code></td>\n <td><code class=\"language-plaintext highlighter-rouge\">true</code></td>\n </tr>\n <tr>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">show-file-meta</code></td>\n <td style=\"text-align: left\">Whether to include the footer with links</td>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">true</code> or <code class=\"language-plaintext highlighter-rouge\">false</code></td>\n <td><code class=\"language-plaintext highlighter-rouge\">true</code></td>\n </tr>\n <tr>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">show-copy</code></td>\n <td style=\"text-align: left\">Whether to include the Copy button on mouseover</td>\n <td style=\"text-align: left\"><code class=\"language-plaintext highlighter-rouge\">true</code> or <code class=\"language-plaintext highlighter-rouge\">false</code></td>\n <td><code class=\"language-plaintext highlighter-rouge\">true</code></td>\n </tr>\n </tbody>\n</table>\n\n<h2 id=\"embedding-from-gitlab\">Embedding from GitLab</h2>\n\n<p>We want to support embedding from GitLab, but it’s not implemented yet:</p>\n\n<div class=\"example\">\n<div>\n<p>Code</p>\n\n<figure class=\"highlight\"><pre><code class=\"language-liquid\" data-lang=\"liquid\"><span class=\"p\">{%</span><span class=\"w\"> </span><span class=\"nt\">include</span><span class=\"w\"> </span><span class=\"nv\">code</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">service</span><span class=\"o\">=</span><span class=\"s2\">\"gitlab\"</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">org</span><span class=\"o\">=</span><span class=\"s2\">\"tjian-darzacq-lab\"</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">repo</span><span class=\"o\">=</span><span class=\"s2\">\"Spot-On-TrackMate\"</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">branch</span><span class=\"o\">=</span><span class=\"s2\">\"master\"</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">path</span><span class=\"o\">=</span><span class=\"s2\">\"src/main/java/plugin/trackmate/action/ExportTracksToSpotOn.java\"</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">line-start</span><span class=\"o\">=</span><span class=\"mi\">91</span><span class=\"w\"> </span><span class=\"na\">line-end</span><span class=\"o\">=</span><span class=\"mi\">112</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">label</span><span class=\"o\">=</span><span class=\"s2\">\"Spot-On export TrackMate tracks to XML\"</span><span class=\"w\"> </span><span class=\"p\">%}</span></code></pre></figure>\n\n</div>\n<div>\n<p>Result</p>\n<div>\n\n <p><b><a href=\"https://gitlab.com/tjian-darzacq-lab/Spot-On-TrackMate/-/blob/master/src/main/java/plugin/trackmate/action/ExportTracksToSpotOn.java#L91-112#L91-112\">Spot-On export TrackMate tracks to XML</a></b><br /></p>\n <div class=\"notice\" style=\"font-size: 2; background: #ffcccb; border-left: 10px solid #f57900\"><div class=\"notice-icon\"><img src=\"/media/icons/warning.png\" /></div><div class=\"notice-content\">\n<p>Embedding content from GitLab is not yet supported.\nAre you a JavaScript developer who can make it happen?\n<a href=\"/discuss\">Reach out to us on the Image.sc Forum!</a></p>\n</div>\n</div>\n\n </div>\n</div>\n</div>\n\n<h2 id=\"embedding-from-bitbucket\">Embedding from BitBucket</h2>\n\n<p>We want to support embedding from GitLab, but it’s not implemented yet:</p>\n\n<div class=\"example\">\n<div>\n<p>Code</p>\n\n<figure class=\"highlight\"><pre><code class=\"language-liquid\" data-lang=\"liquid\"><span class=\"p\">{%</span><span class=\"w\"> </span><span class=\"nt\">include</span><span class=\"w\"> </span><span class=\"nv\">code</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">service</span><span class=\"o\">=</span><span class=\"s2\">\"bitbucket\"</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">org</span><span class=\"o\">=</span><span class=\"s2\">\"fernandoamat\"</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">repo</span><span class=\"o\">=</span><span class=\"s2\">\"keller-lab-block-filetype\"</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">branch</span><span class=\"o\">=</span><span class=\"s2\">\"d4755438000475d60e51ee2b793a7fd92c1be7fe\"</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">path</span><span class=\"o\">=</span><span class=\"s2\">\"src/main/java/org/janelia/simview/klb/KLB.java\"</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">line-start</span><span class=\"o\">=</span><span class=\"mi\">279</span><span class=\"w\"> </span><span class=\"na\">line-end</span><span class=\"o\">=</span><span class=\"mi\">297</span><span class=\"err\">\n</span><span class=\"w\"> </span><span class=\"na\">label</span><span class=\"o\">=</span><span class=\"s2\">\"Reading KLB data as ImgLib2 image\"</span><span class=\"w\"> </span><span class=\"p\">%}</span></code></pre></figure>\n\n</div>\n<div>\n<p>Result</p>\n<div>\n\n <p><b><a href=\"https://bitbucket.org/fernandoamat/keller-lab-block-filetype/src/d4755438000475d60e51ee2b793a7fd92c1be7fe/src/main/java/org/janelia/simview/klb/KLB.java#lines-279:297#lines-279:297\">Reading KLB data as ImgLib2 image</a></b><br /></p>\n <div class=\"notice\" style=\"font-size: 2; background: #ffcccb; border-left: 10px solid #f57900\"><div class=\"notice-icon\"><img src=\"/media/icons/warning.png\" /></div><div class=\"notice-content\">\n<p>Embedding content from BitBucket is not yet supported.\nAre you a JavaScript developer who can make it happen?\n<a href=\"/discuss\">Reach out to us on the Image.sc Forum!</a></p>\n</div>\n</div>\n\n </div>\n</div>\n</div>\n\n<h1 id=\"footnotes\">Footnotes</h1>\n\n<div class=\"footnotes\" role=\"doc-endnotes\">\n <ol>\n <li id=\"fn:1\" role=\"doc-endnote\">\n <p>Valid style values for GitHub embeds are:</p>\n\n <ul style=\"column-width: 11em; list-style: none;\">\n<li>a11y-dark</li>\n<li>a11y-light</li>\n<li>agate</li>\n<li>an-old-hope</li>\n<li>androidstudio</li>\n<li>arduino-light</li>\n<li>arta</li>\n<li>ascetic</li>\n<li>atelier-cave-dark</li>\n<li>atelier-cave-light</li>\n<li>atelier-dune-dark</li>\n<li>atelier-dune-light</li>\n<li>atelier-estuary-dark</li>\n<li>atelier-estuary-light</li>\n<li>atelier-forest-dark</li>\n<li>atelier-forest-light</li>\n<li>atelier-heath-dark</li>\n<li>atelier-heath-light</li>\n<li>atelier-lakeside-dark</li>\n<li>atelier-lakeside-light</li>\n<li>atelier-plateau-dark</li>\n<li>atelier-plateau-light</li>\n<li>atelier-savanna-dark</li>\n<li>atelier-savanna-light</li>\n<li>atelier-seaside-dark</li>\n<li>atelier-seaside-light</li>\n<li>atelier-sulphurpool-dark</li>\n<li>atelier-sulphurpool-light</li>\n<li>atom-one-dark</li>\n<li>atom-one-dark-reasonable</li>\n<li>atom-one-light</li>\n<li>codepen-embed</li>\n<li>color-brewer</li>\n<li>darcula</li>\n<li>dark</li>\n<li>default</li>\n<li>docco</li>\n<li>dracula</li>\n<li>far</li>\n<li>foundation</li>\n<li>github</li>\n<li>github-gist</li>\n<li>gml</li>\n<li>googlecode</li>\n<li>gradient-dark</li>\n<li>grayscale</li>\n<li>gruvbox-dark</li>\n<li>gruvbox-light</li>\n<li>hopscotch</li>\n<li>hybrid</li>\n<li>idea</li>\n<li>ir-black</li>\n<li>isbl-editor-dark</li>\n<li>isbl-editor-light</li>\n<li>kimbie.dark</li>\n<li>kimbie.light</li>\n<li>lightfair</li>\n<li>magula</li>\n<li>mono-blue</li>\n<li>monokai</li>\n<li>monokai-sublime</li>\n<li>night-owl</li>\n<li>nord</li>\n<li>obsidian</li>\n<li>ocean</li>\n<li>paraiso-dark</li>\n<li>paraiso-light</li>\n<li>purebasic</li>\n<li>qtcreator_dark</li>\n<li>qtcreator_light</li>\n<li>railscasts</li>\n<li>rainbow</li>\n<li>routeros</li>\n<li>shades-of-purple</li>\n<li>solarized-dark</li>\n<li>solarized-light</li>\n<li>sunburst</li>\n<li>tomorrow</li>\n<li>tomorrow-night</li>\n<li>tomorrow-night-blue</li>\n<li>tomorrow-night-bright</li>\n<li>tomorrow-night-eighties</li>\n<li>vs</li>\n<li>vs2015</li>\n<li>xcode</li>\n<li>xt256</li>\n<li>zenburn</li>\n</ul>\n <p><a href=\"#fnref:1\" class=\"reversefootnote\" role=\"doc-backlink\">↩</a></p>\n </li>\n </ol>\n</div>\n",
"url": "/editing/code",
"draft": false,
"categories": [
],
"layout": "page",
"icon": "/media/icons/imagej2.png",
"title": "Source Code",
"section": "Contribute:Editing the Wiki",
"nav-links": true,
"slug": "code",
"ext": ".md",
"tags": [
],
"date": "2024-11-17 22:07:46 +0000"
},
"id": "/editing/debugging",
"collection": "pages",
"next": {
"path": "_pages/editing/dokuwiki-migration.md",
"relative_path": "_pages/editing/dokuwiki-migration.md",
"excerpt": "<p>The ImageJ Documentation Wiki is no longer available at location <https://imagejdocu.tudor.lu>, as the CRP Henri Tudor has merged to become the Luxembourg Institute of Science and Technology five years ago and the old domain will be discontinued. We want to take this as an opportunity to merge the resources on <https://imagejdocu.list.lu> with those here at <https://imagej.net>.</p>\n\n",
"previous": {
"path": "_pages/editing/debugging.md",
"relative_path": "_pages/editing/debugging.md",
"excerpt": "<p>The best way to collect debugging information is to <a href=\"/editing/advanced\">build the site locally</a>. However if that isn’t an option, this page documents tags which can be helpful.</p>\n\n",
"previous": {
"path": "_pages/editing/code.md",
"relative_path": "_pages/editing/code.md",
"id": "/editing/code",
"collection": "pages",
"url": "/editing/code",
"draft": false,
"categories": [
],
"layout": "page",
"icon": "/media/icons/imagej2.png",
"title": "Source Code",
"section": "Contribute:Editing the Wiki",
"nav-links": true,
"slug": "code",
"ext": ".md",
"tags": [
],
"date": "2024-11-17 22:07:46 +0000"
},
"id": "/editing/debugging",
"collection": "pages",
"next": {
"path": "_pages/editing/dokuwiki-migration.md",
"relative_path": "_pages/editing/dokuwiki-migration.md",
"id": "/editing/dokuwiki-migration",
"collection": "pages",
"url": "/editing/dokuwiki-migration",
"draft": false,
"categories": [
],
"layout": "page",
"icon": "/media/icons/imagej2.png",
"title": "Migrating from DokuWiki",
"nav-links": true,
"nav-title": "DokuWiki Migration",
"slug": "dokuwiki-migration",
"ext": ".md",
"tags": [
]
},
"output": null,
"content": "The best way to collect debugging information is to [build the site locally](/editing/advanced). However if that isn't an option, this page documents tags which can be helpful.\n\n## Echo\n\nThis `echo` include just prints its arguments, for debugging/learning purposes. This can be helpful in understanding Liquid syntax and how strings are being read internally by an `include`.\n\nArguments are printed as a comma-separated list of `\"argument\"==>\"value\"` pairs.\n\nNote that liquid allows the passing of [arbitrary arguments](https://jekyllrb.com/docs/includes/) to `include` templates. All these arguments will be stored, but won't have any effect unless the `include`'s [source](https://github.com/imagej/imagej.github.io/tree/-/_includes) actually does something with those arguments.\n\n{% highlight liquid %}{% raw %}{% include echo content=\"This is the content argument\" bracket=\"what if I pass {}?\" gorilla=\"Why do we have a gorilla argument?\" %}{% endraw %}{% endhighlight %}\n{% include echo content=\"This is the content argument\" bracket=\"what if I pass {}?\" gorilla=\"Why do we have a gorilla argument?\" %}\n\n### What's in a `page`?\n\n{% include notice icon=\"tech\" content=\"Ever wonder what all is part of the `page` data structure? Let's find out! \n\n(You can also do this with the `site` data structure, but be warned: the output will include every page body across the whole site!)\" %}\n\n{% highlight liquid %}{% raw %}{% include echo p=page %}{% endraw %}{% endhighlight %}\n{% include echo p=page %}\n",
"url": "/editing/debugging",
"draft": false,
"categories": [
],
"layout": "page",
"icon": "/media/icons/imagej2.png",
"title": "Debugging",
"section": "Contribute:Editing the Wiki",
"nav-links": true,
"slug": "debugging",
"ext": ".md",
"tags": [
]
},
"id": "/editing/dokuwiki-migration",
"collection": "pages",
"next": {
"path": "_pages/editing/figures.md",
"relative_path": "_pages/editing/figures.md",
"excerpt": "<div class=\"notice\" style=\"font-size: 2; background: #ffcccb; border-left: 10px solid #f57900\"><div class=\"notice-icon\"><img src=\"/media/icons/warning.png\" /></div><div class=\"notice-content\"><p>This page is still a work in progress. Please ignore for the moment!</p>\n</div>\n</div>\n\n",
"previous": {
"path": "_pages/editing/dokuwiki-migration.md",
"relative_path": "_pages/editing/dokuwiki-migration.md",
"id": "/editing/dokuwiki-migration",
"collection": "pages",
"url": "/editing/dokuwiki-migration",
"draft": false,
"categories": [
],
"layout": "page",
"icon": "/media/icons/imagej2.png",
"title": "Migrating from DokuWiki",
"nav-links": true,
"nav-title": "DokuWiki Migration",
"slug": "dokuwiki-migration",
"ext": ".md",
"tags": [
]
},
"id": "/editing/figures",
"collection": "pages",
"next": {
"path": "_pages/editing/headers.md",
"relative_path": "_pages/editing/headers.md",
"id": "/editing/headers",
"collection": "pages",
"url": "/editing/headers",
"draft": false,
"categories": [
],
"layout": "page",
"icon": "/media/icons/imagej2.png",
"title": "Headers",
"section": "Contribute:Editing the Wiki",
"nav-links": true,
"slug": "headers",
"ext": ".md",
"tags": [
]
},
"output": null,
"content": "{% include notice icon=\"warning\" content=\"This page is still a work in progress. Please ignore for the moment!\" %}\n\n{% include figure/begin columns=2 title='Centered text at the top of the figure' caption='Centered text at the bottom of the figure' %}\n {% include figure/panel caption=\"Panel A: Top left\" %} {% include img src='icons/nih-image' %}\n {% include figure/panel caption=\"Panel B: Top right\" %} {% include img src='icons/imagej' %}\n {% include figure/panel caption=\"Panel C: Bottom left\" %} {% include img src='icons/imagej2' %}\n {% include figure/panel caption=\"Panel D: Bottom right with a really long caption, just to see what happens\" %} {% include img src='icons/fiji' %}\n{% include figure/end %}\n",
"url": "/editing/figures",
"draft": false,
"categories": [
],
"layout": "page",
"icon": "/media/icons/imagej2.png",
"title": "Figures",
"slug": "figures",
"ext": ".md",
"tags": [
]
},
"output": null,
"content": "The ImageJ Documentation Wiki is no longer available at location <https://imagejdocu.tudor.lu>, as the CRP Henri Tudor has merged to become the Luxembourg Institute of Science and Technology five years ago and the old domain will be discontinued. We want to take this as an opportunity to merge the resources on <https://imagejdocu.list.lu> with those here at <https://imagej.net>.\n\nThis guide covers the process of migrating a page from the ImageJ Documentation Wiki ([DokuWiki](https://www.dokuwiki.org/dokuwiki)) to this ImageJ wiki ([GitHub Pages+Jekyll+Markdown+Liquid](https://docs.github.com/en/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll)).\n\n1. **Create a GitHub account** if you do not already have one, by visiting the [signup page](https://github.com/signup).\n\n2. **Identify the ImageJ Documentation Wiki page you are migrating.** For this walkthrough, we'll choose the [Colocalization Finder](https://imagejdocu.list.lu/plugin/analysis/colocalizationfinder/start) page.\n\n3. **Grab the path to the page** by selecting it in the address bar and copying it to the clipboard. Here, this is `plugin/analysis/colocalizationfinder/start`.\n\n4. **Grab the converted Markdown text.** We have done a preliminary conversion of the wiki markup from DokuWiki format to Markdown format, and placed it online for you. Find your converted page at `https://raw.githubusercontent.com/imagej/imagejdocu/master/[your-page].md`, replacing `[your-page]` with the snippet from the previous step. For Colocalization Finder, the URL will be [`https://raw.githubusercontent.com/imagej/imagejdocu/master/plugin/analysis/colocalizationfinder/start.md`](https://raw.githubusercontent.com/imagej/imagejdocu/master/plugin/analysis/colocalizationfinder/start.md). Copy the entire markup code to your clipboard.\n\n5. **On GitHub, create the destination ImageJ wiki page.** On the ImageJ wiki, page names are lower-web-case with dash separators. As such, for our migrated Colocalization Finder page, we want it to appear at `https://imagej.net/plugins/colocalization-finder`. Therefore:\n\n * Navigate to [https://github.com/imagej/imagej.github.io/](https://github.com/imagej/imagej.github.io/) in your web browser.\n * Click into the `media` folder, then (scrolling down the page) `plugins`.\n * On the top right side, click the {% include button label=\"Add file ▾\" %} button, then \"Create new file\":\n {% include img src=\"imagejdocu-create-page\" %}\n * For \"Name your file...\", type `colocalization-finder.md`.\n\n6. **Paste the converted Markdown code into the \"Edit new file\" tab's empty text area:**\n {% include img src=\"imagejdocu-paste-content\" %}\n\n7. **Preview the results.** Click over to the \"Preview\" tab to see a preview of how the page will look.\n\n8. **Migrate needed images:**\n 1. Right-click and \"Save Image As...\" the images from your page on the ImageJ Documentation Wiki. For Colocalization Finder, there are two images: `cf_images.png` and `cf_table.png`.\n 2. Rename the images to use dashes instead of underscores, as per the wiki's lower-web-case naming convention. For the Colocalization Finder images, their new names will be `cf-images.png` and `cf-table.png`.\n 3. In a separate browser tab:\n * Go to [https://github.com/imagej/imagej.github.io](https://github.com/imagej/imagej.github.io) again.\n * Click into `media` then `plugins` again.\n * Click the {% include button label=\"Add file ▾\" %} button, then \"Upload files\":\n {% include img src=\"imagejdocu-upload-images\" %}\n * Drag `cf-images.png` and `cf-table.png` onto the \"Drag files here\" area. Then scroll down to the \"Commit changes\" box below, type a message like \"Add Colocalization Finder images\", then click the {% include button label=\"Commit changes\" %} button. This will stage the images for availability from URLs `https://imagej.net/media/plugins/cf-images.png` and `https://imagej.net/media/plugins/cf-table.png` respectively.\n 4. Back in our new Colocalization Finder page, we fix the image link paths; e.g.:\n ```markdown\n ![](/plugin/analysis/colocalizationfinder/cf_images.png)\n ```\n becomes\n ```markdown\n ![](/media/plugins/cf-images.png)\n ```\n See the wiki editing guide's [images](https://imagej.net/editing/images) page for details on formatting your images.\n 5. If you are new to GitHub and not yet approved as an imagej.net editor, you will need to file a [pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests), which is just a term meaning your changes will be posted as a suggestion (i.e. a \"request\") for the wiki editors to review, approve, and merge (i.e. \"pull in\") to the main wiki contents. When you commit your changes as described in step 8.3 above, GitHub will walk you through this procedure. Once your first pull request is merged, you will be granted direct edit access to simplify future edits.\n\n9. **Add categories to your page** so that it is classified correctly. The Colocalization Finder page is in the `plugins/analysis` subtree, so we will add `category: [Colocalization, Analysis]` to the front matter (i.e. as a key/value pair between the `---` lines at the top). See the [List of Extensions](/list-of-extensions) page, expanding the Categories filter, for a complete list of in-use categories on imagej.net.\n\n10. **Fix any remaining errors and imperfections.** Inspect the rendered page, noting any problems. Then scroll down below the page to find the text box containing the wiki markup code.\n - For example, the Colocalization Finder auto-converted markup has a spurious `<!-- -->` block surrounded by code fences, which should be deleted.\n - Test every hyperlink, and update the ones that don't work. Old `http:` links should be converted to `https:` when possible.\n - You may wish to add a statbox for your plugin:\n - If your plugin is published to maven.scijava.org, you can add an `artifact:` to the front matter, and the statbox will be autopopulated. ([Example](https://imagej.net/plugins/trackmate))\n - If not, but you use Maven to build and have a `pom.xml`, you can link to the raw POM with `pom-url:` in the front matter, and the statbox will be autopopulated. ([Example](https://imagej.net/libs/imagescience))\n - Or if not, you can enter your plugin statistics manually field by field. ([Example](https://imagej.net/plugins/3d-imagej-suite))\n See the [statbox](/editing/statbox) guide for details.\n - See the [wiki editing guide](/editing) for additional information on wiki syntax.\n\n11. **Preview your page again**, as many times as needed, until everything looks good. Some features, including Liquid {% raw %}`{% ... %}`{% endraw %} tags and front matter values, are not previewable, but will take effect when the page is actually rendered on imagej.net.\n\n12. **Commit your changes when finished.** As we did with the images, scroll down to the \"Commit new file\" area, type a commit message in imperative tense like \"Add Colocalization Finder plugin\", and click \"Commit new file\" to proceed. If you have edit rights, your changes will be merged immediately, and appear on imagej.net within 10 minutes. Or if you are new, you will be walked through filing a pull request for the update.\n\nPlease write to the [Image.sc Forum](https://forum.image.sc/) with any questions! We are happy to help.\n",
"url": "/editing/dokuwiki-migration",
"draft": false,
"categories": [
],
"layout": "page",
"icon": "/media/icons/imagej2.png",
"title": "Migrating from DokuWiki",
"nav-links": true,
"nav-title": "DokuWiki Migration",
"slug": "dokuwiki-migration",
"ext": ".md",
"tags": [
]
},
"output": null,
"content": "The best way to collect debugging information is to [build the site locally](/editing/advanced). However if that isn't an option, this page documents tags which can be helpful.\n\n## Echo\n\nThis `echo` include just prints its arguments, for debugging/learning purposes. This can be helpful in understanding Liquid syntax and how strings are being read internally by an `include`.\n\nArguments are printed as a comma-separated list of `\"argument\"==>\"value\"` pairs.\n\nNote that liquid allows the passing of [arbitrary arguments](https://jekyllrb.com/docs/includes/) to `include` templates. All these arguments will be stored, but won't have any effect unless the `include`'s [source](https://github.com/imagej/imagej.github.io/tree/-/_includes) actually does something with those arguments.\n\n{% highlight liquid %}{% raw %}{% include echo content=\"This is the content argument\" bracket=\"what if I pass {}?\" gorilla=\"Why do we have a gorilla argument?\" %}{% endraw %}{% endhighlight %}\n{% include echo content=\"This is the content argument\" bracket=\"what if I pass {}?\" gorilla=\"Why do we have a gorilla argument?\" %}\n\n### What's in a `page`?\n\n{% include notice icon=\"tech\" content=\"Ever wonder what all is part of the `page` data structure? Let's find out! \n\n(You can also do this with the `site` data structure, but be warned: the output will include every page body across the whole site!)\" %}\n\n{% highlight liquid %}{% raw %}{% include echo p=page %}{% endraw %}{% endhighlight %}\n{% include echo p=page %}\n",
"url": "/editing/debugging",
"draft": false,
"categories": [
],
"layout": "page",
"icon": "/media/icons/imagej2.png",
"title": "Debugging",
"section": "Contribute:Editing the Wiki",
"nav-links": true,
"slug": "debugging",
"ext": ".md",
"tags": [
]
}}