Documentation for v1.2.0
105
v1.2.0/advanced/index.html
Normal file
43
v1.2.0/api/index.html
Normal file
BIN
v1.2.0/assets/advanced010.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
v1.2.0/assets/advanced011.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
v1.2.0/assets/advanced011b.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
v1.2.0/assets/advanced012.png
Normal file
|
After Width: | Height: | Size: 47 KiB |
BIN
v1.2.0/assets/advanced013b.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
v1.2.0/assets/advanced014b.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
v1.2.0/assets/advanced014c.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
v1.2.0/assets/advanced014d.png
Normal file
|
After Width: | Height: | Size: 43 KiB |
BIN
v1.2.0/assets/animation.gif
Normal file
|
After Width: | Height: | Size: 380 KiB |
BIN
v1.2.0/assets/basic000.png
Normal file
|
After Width: | Height: | Size: 9.0 KiB |
BIN
v1.2.0/assets/basic001.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
v1.2.0/assets/basic002.png
Normal file
|
After Width: | Height: | Size: 41 KiB |
BIN
v1.2.0/assets/basic003.png
Normal file
|
After Width: | Height: | Size: 43 KiB |
BIN
v1.2.0/assets/basic004.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
v1.2.0/assets/basic005.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
v1.2.0/assets/basic006.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
v1.2.0/assets/basic007a.png
Normal file
|
After Width: | Height: | Size: 9.6 KiB |
BIN
v1.2.0/assets/basic007b.png
Normal file
|
After Width: | Height: | Size: 8.6 KiB |
BIN
v1.2.0/assets/basic008.png
Normal file
|
After Width: | Height: | Size: 37 KiB |
BIN
v1.2.0/assets/basic008a.png
Normal file
|
After Width: | Height: | Size: 37 KiB |
BIN
v1.2.0/assets/basic009a.png
Normal file
|
After Width: | Height: | Size: 49 KiB |
BIN
v1.2.0/assets/basic009b.png
Normal file
|
After Width: | Height: | Size: 39 KiB |
BIN
v1.2.0/assets/cairolatex.png
Normal file
|
After Width: | Height: | Size: 104 KiB |
260
v1.2.0/assets/documenter.js
Normal file
@ -0,0 +1,260 @@
|
||||
// Generated by Documenter.jl
|
||||
requirejs.config({
|
||||
paths: {
|
||||
'highlight-julia': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.10/languages/julia.min',
|
||||
'headroom': 'https://cdnjs.cloudflare.com/ajax/libs/headroom/0.10.3/headroom.min',
|
||||
'jqueryui': 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min',
|
||||
'katex-auto-render': 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.11.1/contrib/auto-render.min',
|
||||
'jquery': 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min',
|
||||
'headroom-jquery': 'https://cdnjs.cloudflare.com/ajax/libs/headroom/0.10.3/jQuery.headroom.min',
|
||||
'katex': 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.11.1/katex.min',
|
||||
'highlight': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.10/highlight.min',
|
||||
'highlight-julia-repl': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.10/languages/julia-repl.min',
|
||||
},
|
||||
shim: {
|
||||
"highlight-julia": {
|
||||
"deps": [
|
||||
"highlight"
|
||||
]
|
||||
},
|
||||
"katex-auto-render": {
|
||||
"deps": [
|
||||
"katex"
|
||||
]
|
||||
},
|
||||
"headroom-jquery": {
|
||||
"deps": [
|
||||
"jquery",
|
||||
"headroom"
|
||||
]
|
||||
},
|
||||
"highlight-julia-repl": {
|
||||
"deps": [
|
||||
"highlight"
|
||||
]
|
||||
}
|
||||
}
|
||||
});
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
require(['jquery', 'katex', 'katex-auto-render'], function($, katex, renderMathInElement) {
|
||||
$(document).ready(function() {
|
||||
renderMathInElement(
|
||||
document.body,
|
||||
{
|
||||
"delimiters": [
|
||||
{
|
||||
"left": "$",
|
||||
"right": "$",
|
||||
"display": false
|
||||
},
|
||||
{
|
||||
"left": "$$",
|
||||
"right": "$$",
|
||||
"display": true
|
||||
},
|
||||
{
|
||||
"left": "\\[",
|
||||
"right": "\\]",
|
||||
"display": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
);
|
||||
})
|
||||
|
||||
})
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
require(['jquery', 'highlight', 'highlight-julia', 'highlight-julia-repl'], function($, hljs) {
|
||||
$(document).ready(function() {
|
||||
hljs.initHighlighting();
|
||||
})
|
||||
|
||||
})
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
require(['jquery', 'headroom', 'headroom-jquery'], function($, Headroom) {
|
||||
|
||||
// Manages the top navigation bar (hides it when the user starts scrolling down on the
|
||||
// mobile).
|
||||
window.Headroom = Headroom; // work around buggy module loading?
|
||||
$(document).ready(function() {
|
||||
$('#documenter .docs-navbar').headroom({
|
||||
"tolerance": {"up": 10, "down": 10},
|
||||
});
|
||||
})
|
||||
|
||||
})
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
require(['jquery'], function($) {
|
||||
|
||||
// Modal settings dialog
|
||||
$(document).ready(function() {
|
||||
var settings = $('#documenter-settings');
|
||||
$('#documenter-settings-button').click(function(){
|
||||
settings.toggleClass('is-active');
|
||||
});
|
||||
// Close the dialog if X is clicked
|
||||
$('#documenter-settings button.delete').click(function(){
|
||||
settings.removeClass('is-active');
|
||||
});
|
||||
// Close dialog if ESC is pressed
|
||||
$(document).keyup(function(e) {
|
||||
if (e.keyCode == 27) settings.removeClass('is-active');
|
||||
});
|
||||
});
|
||||
|
||||
})
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
require(['jquery'], function($) {
|
||||
|
||||
// Manages the showing and hiding of the sidebar.
|
||||
$(document).ready(function() {
|
||||
var sidebar = $("#documenter > .docs-sidebar");
|
||||
var sidebar_button = $("#documenter-sidebar-button")
|
||||
sidebar_button.click(function(ev) {
|
||||
ev.preventDefault();
|
||||
sidebar.toggleClass('visible');
|
||||
if (sidebar.hasClass('visible')) {
|
||||
// Makes sure that the current menu item is visible in the sidebar.
|
||||
$("#documenter .docs-menu a.is-active").focus();
|
||||
}
|
||||
});
|
||||
$("#documenter > .docs-main").bind('click', function(ev) {
|
||||
if ($(ev.target).is(sidebar_button)) {
|
||||
return;
|
||||
}
|
||||
if (sidebar.hasClass('visible')) {
|
||||
sidebar.removeClass('visible');
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
// Resizes the package name / sitename in the sidebar if it is too wide.
|
||||
// Inspired by: https://github.com/davatron5000/FitText.js
|
||||
$(document).ready(function() {
|
||||
e = $("#documenter .docs-autofit");
|
||||
function resize() {
|
||||
var L = parseInt(e.css('max-width'), 10);
|
||||
var L0 = e.width();
|
||||
if(L0 > L) {
|
||||
var h0 = parseInt(e.css('font-size'), 10);
|
||||
e.css('font-size', L * h0 / L0);
|
||||
// TODO: make sure it survives resizes?
|
||||
}
|
||||
}
|
||||
// call once and then register events
|
||||
resize();
|
||||
$(window).resize(resize);
|
||||
$(window).on('orientationchange', resize);
|
||||
});
|
||||
|
||||
// Scroll the navigation bar to the currently selected menu item
|
||||
$(document).ready(function() {
|
||||
var sidebar = $("#documenter .docs-menu").get(0);
|
||||
var active = $("#documenter .docs-menu .is-active").get(0);
|
||||
if(typeof active !== 'undefined') {
|
||||
sidebar.scrollTop = active.offsetTop - sidebar.offsetTop - 15;
|
||||
}
|
||||
})
|
||||
|
||||
})
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
require(['jquery'], function($) {
|
||||
|
||||
function set_theme(theme) {
|
||||
var active = null;
|
||||
var disabled = [];
|
||||
for (var i = 0; i < document.styleSheets.length; i++) {
|
||||
var ss = document.styleSheets[i];
|
||||
var themename = ss.ownerNode.getAttribute("data-theme-name");
|
||||
if(themename === null) continue; // ignore non-theme stylesheets
|
||||
// Find the active theme
|
||||
if(themename === theme) active = ss;
|
||||
else disabled.push(ss);
|
||||
}
|
||||
if(active !== null) {
|
||||
active.disabled = false;
|
||||
if(active.ownerNode.getAttribute("data-theme-primary") === null) {
|
||||
document.getElementsByTagName('html')[0].className = "theme--" + theme;
|
||||
} else {
|
||||
document.getElementsByTagName('html')[0].className = "";
|
||||
}
|
||||
disabled.forEach(function(ss){
|
||||
ss.disabled = true;
|
||||
});
|
||||
}
|
||||
|
||||
// Store the theme in localStorage
|
||||
if(typeof(window.localStorage) !== "undefined") {
|
||||
window.localStorage.setItem("documenter-theme", theme);
|
||||
} else {
|
||||
console.error("Browser does not support window.localStorage");
|
||||
}
|
||||
}
|
||||
|
||||
// Theme picker setup
|
||||
$(document).ready(function() {
|
||||
// onchange callback
|
||||
$('#documenter-themepicker').change(function themepick_callback(ev){
|
||||
var themename = $('#documenter-themepicker option:selected').attr('value');
|
||||
set_theme(themename);
|
||||
});
|
||||
|
||||
// Make sure that the themepicker displays the correct theme when the theme is retrieved
|
||||
// from localStorage
|
||||
if(typeof(window.localStorage) !== "undefined") {
|
||||
var theme = window.localStorage.getItem("documenter-theme");
|
||||
if(theme !== null) {
|
||||
$('#documenter-themepicker option').each(function(i,e) {
|
||||
e.selected = (e.value === theme);
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
})
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
require(['jquery'], function($) {
|
||||
|
||||
// update the version selector with info from the siteinfo.js and ../versions.js files
|
||||
$(document).ready(function() {
|
||||
var version_selector = $("#documenter .docs-version-selector");
|
||||
var version_selector_select = $("#documenter .docs-version-selector select");
|
||||
|
||||
version_selector_select.change(function(x) {
|
||||
target_href = version_selector_select.children("option:selected").get(0).value;
|
||||
window.location.href = target_href;
|
||||
});
|
||||
|
||||
// add the current version to the selector based on siteinfo.js, but only if the selector is empty
|
||||
if (typeof DOCUMENTER_CURRENT_VERSION !== 'undefined' && $('#version-selector > option').length == 0) {
|
||||
var option = $("<option value='#' selected='selected'>" + DOCUMENTER_CURRENT_VERSION + "</option>");
|
||||
version_selector_select.append(option);
|
||||
}
|
||||
|
||||
if (typeof DOC_VERSIONS !== 'undefined') {
|
||||
var existing_versions = version_selector_select.children("option");
|
||||
var existing_versions_texts = existing_versions.map(function(i,x){return x.text});
|
||||
DOC_VERSIONS.forEach(function(each) {
|
||||
var version_url = documenterBaseURL + "/../" + each;
|
||||
var existing_id = $.inArray(each, existing_versions_texts);
|
||||
// if not already in the version selector, add it as a new option,
|
||||
// otherwise update the old option with the URL and enable it
|
||||
if (existing_id == -1) {
|
||||
var option = $("<option value='" + version_url + "'>" + each + "</option>");
|
||||
version_selector_select.append(option);
|
||||
} else {
|
||||
var option = existing_versions[existing_id];
|
||||
option.value = version_url;
|
||||
option.disabled = false;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// only show the version selector if the selector has been populated
|
||||
if (version_selector_select.children("option").length > 0) {
|
||||
version_selector.toggleClass("visible");
|
||||
}
|
||||
})
|
||||
|
||||
})
|
||||
BIN
v1.2.0/assets/logo.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
v1.2.0/assets/recipes001.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
v1.2.0/assets/recipes002.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
v1.2.0/assets/recipes002a.png
Normal file
|
After Width: | Height: | Size: 9.2 KiB |
BIN
v1.2.0/assets/recipes007b.png
Normal file
|
After Width: | Height: | Size: 261 KiB |
BIN
v1.2.0/assets/recipes007c.png
Normal file
|
After Width: | Height: | Size: 145 KiB |
247
v1.2.0/assets/search.js
Normal file
@ -0,0 +1,247 @@
|
||||
// Generated by Documenter.jl
|
||||
requirejs.config({
|
||||
paths: {
|
||||
'lunr': 'https://cdnjs.cloudflare.com/ajax/libs/lunr.js/2.3.6/lunr.min',
|
||||
'lodash': 'https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.min',
|
||||
'jquery': 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min',
|
||||
}
|
||||
});
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
require(['jquery', 'lunr', 'lodash'], function($, lunr, _) {
|
||||
|
||||
$(document).ready(function() {
|
||||
// parseUri 1.2.2
|
||||
// (c) Steven Levithan <stevenlevithan.com>
|
||||
// MIT License
|
||||
function parseUri (str) {
|
||||
var o = parseUri.options,
|
||||
m = o.parser[o.strictMode ? "strict" : "loose"].exec(str),
|
||||
uri = {},
|
||||
i = 14;
|
||||
|
||||
while (i--) uri[o.key[i]] = m[i] || "";
|
||||
|
||||
uri[o.q.name] = {};
|
||||
uri[o.key[12]].replace(o.q.parser, function ($0, $1, $2) {
|
||||
if ($1) uri[o.q.name][$1] = $2;
|
||||
});
|
||||
|
||||
return uri;
|
||||
};
|
||||
parseUri.options = {
|
||||
strictMode: false,
|
||||
key: ["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],
|
||||
q: {
|
||||
name: "queryKey",
|
||||
parser: /(?:^|&)([^&=]*)=?([^&]*)/g
|
||||
},
|
||||
parser: {
|
||||
strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,
|
||||
loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/
|
||||
}
|
||||
};
|
||||
|
||||
$("#search-form").submit(function(e) {
|
||||
e.preventDefault()
|
||||
})
|
||||
|
||||
// list below is the lunr 2.1.3 list minus the intersect with names(Base)
|
||||
// (all, any, get, in, is, only, which) and (do, else, for, let, where, while, with)
|
||||
// ideally we'd just filter the original list but it's not available as a variable
|
||||
lunr.stopWordFilter = lunr.generateStopWordFilter([
|
||||
'a',
|
||||
'able',
|
||||
'about',
|
||||
'across',
|
||||
'after',
|
||||
'almost',
|
||||
'also',
|
||||
'am',
|
||||
'among',
|
||||
'an',
|
||||
'and',
|
||||
'are',
|
||||
'as',
|
||||
'at',
|
||||
'be',
|
||||
'because',
|
||||
'been',
|
||||
'but',
|
||||
'by',
|
||||
'can',
|
||||
'cannot',
|
||||
'could',
|
||||
'dear',
|
||||
'did',
|
||||
'does',
|
||||
'either',
|
||||
'ever',
|
||||
'every',
|
||||
'from',
|
||||
'got',
|
||||
'had',
|
||||
'has',
|
||||
'have',
|
||||
'he',
|
||||
'her',
|
||||
'hers',
|
||||
'him',
|
||||
'his',
|
||||
'how',
|
||||
'however',
|
||||
'i',
|
||||
'if',
|
||||
'into',
|
||||
'it',
|
||||
'its',
|
||||
'just',
|
||||
'least',
|
||||
'like',
|
||||
'likely',
|
||||
'may',
|
||||
'me',
|
||||
'might',
|
||||
'most',
|
||||
'must',
|
||||
'my',
|
||||
'neither',
|
||||
'no',
|
||||
'nor',
|
||||
'not',
|
||||
'of',
|
||||
'off',
|
||||
'often',
|
||||
'on',
|
||||
'or',
|
||||
'other',
|
||||
'our',
|
||||
'own',
|
||||
'rather',
|
||||
'said',
|
||||
'say',
|
||||
'says',
|
||||
'she',
|
||||
'should',
|
||||
'since',
|
||||
'so',
|
||||
'some',
|
||||
'than',
|
||||
'that',
|
||||
'the',
|
||||
'their',
|
||||
'them',
|
||||
'then',
|
||||
'there',
|
||||
'these',
|
||||
'they',
|
||||
'this',
|
||||
'tis',
|
||||
'to',
|
||||
'too',
|
||||
'twas',
|
||||
'us',
|
||||
'wants',
|
||||
'was',
|
||||
'we',
|
||||
'were',
|
||||
'what',
|
||||
'when',
|
||||
'who',
|
||||
'whom',
|
||||
'why',
|
||||
'will',
|
||||
'would',
|
||||
'yet',
|
||||
'you',
|
||||
'your'
|
||||
])
|
||||
|
||||
// add . as a separator, because otherwise "title": "Documenter.Anchors.add!"
|
||||
// would not find anything if searching for "add!", only for the entire qualification
|
||||
lunr.tokenizer.separator = /[\s\-\.]+/
|
||||
|
||||
// custom trimmer that doesn't strip @ and !, which are used in julia macro and function names
|
||||
lunr.trimmer = function (token) {
|
||||
return token.update(function (s) {
|
||||
return s.replace(/^[^a-zA-Z0-9@!]+/, '').replace(/[^a-zA-Z0-9@!]+$/, '')
|
||||
})
|
||||
}
|
||||
|
||||
lunr.Pipeline.registerFunction(lunr.stopWordFilter, 'juliaStopWordFilter')
|
||||
lunr.Pipeline.registerFunction(lunr.trimmer, 'juliaTrimmer')
|
||||
|
||||
var index = lunr(function () {
|
||||
this.ref('location')
|
||||
this.field('title',{boost: 100})
|
||||
this.field('text')
|
||||
documenterSearchIndex['docs'].forEach(function(e) {
|
||||
this.add(e)
|
||||
}, this)
|
||||
})
|
||||
var store = {}
|
||||
|
||||
documenterSearchIndex['docs'].forEach(function(e) {
|
||||
store[e.location] = {title: e.title, category: e.category}
|
||||
})
|
||||
|
||||
$(function(){
|
||||
searchresults = $('#documenter-search-results');
|
||||
searchinfo = $('#documenter-search-info');
|
||||
searchbox = $('#documenter-search-query');
|
||||
function update_search(querystring) {
|
||||
tokens = lunr.tokenizer(querystring)
|
||||
results = index.query(function (q) {
|
||||
tokens.forEach(function (t) {
|
||||
q.term(t.toString(), {
|
||||
fields: ["title"],
|
||||
boost: 100,
|
||||
usePipeline: false,
|
||||
editDistance: 0,
|
||||
wildcard: lunr.Query.wildcard.NONE
|
||||
})
|
||||
q.term(t.toString(), {
|
||||
fields: ["title"],
|
||||
boost: 10,
|
||||
usePipeline: false,
|
||||
editDistance: 2,
|
||||
wildcard: lunr.Query.wildcard.NONE
|
||||
})
|
||||
q.term(t.toString(), {
|
||||
fields: ["text"],
|
||||
boost: 1,
|
||||
usePipeline: true,
|
||||
editDistance: 0,
|
||||
wildcard: lunr.Query.wildcard.NONE
|
||||
})
|
||||
})
|
||||
})
|
||||
searchinfo.text("Number of results: " + results.length)
|
||||
searchresults.empty()
|
||||
results.forEach(function(result) {
|
||||
data = store[result.ref]
|
||||
link = $('<a class="docs-label">'+data.title+'</a>')
|
||||
link.attr('href', documenterBaseURL+'/'+result.ref)
|
||||
cat = $('<span class="docs-category">('+data.category+')</span>')
|
||||
li = $('<li>').append(link).append(" ").append(cat)
|
||||
searchresults.append(li)
|
||||
})
|
||||
}
|
||||
|
||||
function update_search_box() {
|
||||
querystring = searchbox.val()
|
||||
update_search(querystring)
|
||||
}
|
||||
|
||||
searchbox.keyup(_.debounce(update_search_box, 250))
|
||||
searchbox.change(update_search_box)
|
||||
|
||||
search_query_uri = parseUri(window.location).queryKey["q"]
|
||||
if(search_query_uri !== undefined) {
|
||||
search_query = decodeURIComponent(search_query_uri.replace(/\+/g, '%20'))
|
||||
searchbox.val(search_query)
|
||||
}
|
||||
update_search_box();
|
||||
})
|
||||
})
|
||||
|
||||
})
|
||||
BIN
v1.2.0/assets/sixelgd.png
Normal file
|
After Width: | Height: | Size: 54 KiB |
7628
v1.2.0/assets/themes/documenter-dark.css
Normal file
7614
v1.2.0/assets/themes/documenter-light.css
Normal file
42
v1.2.0/assets/themeswap.js
Normal file
@ -0,0 +1,42 @@
|
||||
// Small function to quickly swap out themes. Gets put into the <head> tag..
|
||||
function set_theme_from_local_storage() {
|
||||
// Browser does not support Web Storage, bail early.
|
||||
if(typeof(window.localStorage) === "undefined") return;
|
||||
// Get the user-picked theme from localStorage. May be `null`, which means the default
|
||||
// theme.
|
||||
var theme = window.localStorage.getItem("documenter-theme");
|
||||
// Initialize a few variables for the loop:
|
||||
//
|
||||
// - active: will contain the index of the theme that should be active. Note that there
|
||||
// is no guarantee that localStorage contains sane values. If `active` stays `null`
|
||||
// we either could not find the theme or it is the default (primary) theme anyway.
|
||||
// Either way, we then need to stick to the primary theme.
|
||||
//
|
||||
// - disabled: style sheets that should be disabled (i.e. all the theme style sheets
|
||||
// that are not the currently active theme)
|
||||
var active = null; var disabled = [];
|
||||
for (var i = 0; i < document.styleSheets.length; i++) {
|
||||
var ss = document.styleSheets[i];
|
||||
// The <link> tag of each style sheet is expected to have a data-theme-name attribute
|
||||
// which must contain the name of the theme. The names in localStorage much match this.
|
||||
var themename = ss.ownerNode.getAttribute("data-theme-name");
|
||||
// attribute not set => non-theme stylesheet => ignore
|
||||
if(themename === null) continue;
|
||||
// To distinguish the default (primary) theme, it needs to have the data-theme-primary
|
||||
// attribute set.
|
||||
var isprimary = (ss.ownerNode.getAttribute("data-theme-primary") !== null);
|
||||
// If we find a matching theme (and it's not the default), we'll set active to non-null
|
||||
if(!isprimary && themename === theme) active = i;
|
||||
// Store the style sheets of inactive themes so that we could disable them
|
||||
if(themename !== theme) disabled.push(ss);
|
||||
}
|
||||
if(active !== null) {
|
||||
// If we did find an active theme, we'll (1) add the theme--$(theme) class to <html>
|
||||
document.getElementsByTagName('html')[0].className = "theme--" + theme;
|
||||
// and (2) disable all the other theme stylesheets
|
||||
disabled.forEach(function(ss){
|
||||
ss.disabled = true;
|
||||
});
|
||||
}
|
||||
}
|
||||
set_theme_from_local_storage();
|
||||
96
v1.2.0/basic/index.html
Normal file
2
v1.2.0/examples/index.html
Normal file
2
v1.2.0/index.html
Normal file
5
v1.2.0/install/index.html
Normal file
59
v1.2.0/options/index.html
Normal file
34
v1.2.0/recipes/index.html
Normal file
24
v1.2.0/script1.gp
Normal file
@ -0,0 +1,24 @@
|
||||
reset session
|
||||
$data1 << EOD
|
||||
1 1
|
||||
2 4
|
||||
3 9
|
||||
4 16
|
||||
5 25
|
||||
6 36
|
||||
7 49
|
||||
8 64
|
||||
9 81
|
||||
10 100
|
||||
EOD
|
||||
unset for [i=1:256] linetype i
|
||||
set linetype 1 lc rgb '#E41A1C' lw 1.5 dt solid pt 1 ps 1.5
|
||||
set linetype 2 lc rgb '#377EB8' lw 1.5 dt solid pt 2 ps 1.5
|
||||
set linetype 3 lc rgb '#4DAF4A' lw 1.5 dt solid pt 3 ps 1.5
|
||||
set linetype 4 lc rgb '#984EA3' lw 1.5 dt solid pt 4 ps 1.5
|
||||
set linetype 5 lc rgb '#FF7F00' lw 1.5 dt solid pt 5 ps 1.5
|
||||
set linetype cycle 5
|
||||
|
||||
plot \
|
||||
$data1 w l
|
||||
set output
|
||||
14
v1.2.0/script2.gp
Normal file
@ -0,0 +1,14 @@
|
||||
reset session
|
||||
unset for [i=1:256] linetype i
|
||||
set linetype 1 lc rgb '#E41A1C' lw 1.5 dt solid pt 1 ps 1.5
|
||||
set linetype 2 lc rgb '#377EB8' lw 1.5 dt solid pt 2 ps 1.5
|
||||
set linetype 3 lc rgb '#4DAF4A' lw 1.5 dt solid pt 3 ps 1.5
|
||||
set linetype 4 lc rgb '#984EA3' lw 1.5 dt solid pt 4 ps 1.5
|
||||
set linetype 5 lc rgb '#FF7F00' lw 1.5 dt solid pt 5 ps 1.5
|
||||
set linetype cycle 5
|
||||
|
||||
set size ratio -1
|
||||
set autoscale fix
|
||||
plot \
|
||||
'./script2_data/jl_QQWcNJ' binary array=(300, 100) flipy with image notit
|
||||
set output
|
||||
BIN
v1.2.0/script2_data/jl_QQWcNJ
Normal file
2
v1.2.0/search/index.html
Normal file
@ -0,0 +1,2 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Search · Gnuplot.jl</title><link href="https://fonts.googleapis.com/css?family=Lato|Roboto+Mono" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.11.1/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../"><img src="../assets/logo.png" alt="Gnuplot.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit">Gnuplot.jl</span></div><form class="docs-search" action><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../">Home</a></li><li><a class="tocitem" href="../install/">Installation</a></li><li><a class="tocitem" href="../basic/">Basic usage</a></li><li><a class="tocitem" href="../advanced/">Advanced usage</a></li><li><a class="tocitem" href="../options/">Package options</a></li><li><a class="tocitem" href="../style/">Style guide</a></li><li><a class="tocitem" href="../terminals/">Gnuplot terminals</a></li><li><a class="tocitem" href="../recipes/">Plot recipes</a></li><li><a class="tocitem" href="../examples/">Examples</a></li><li><a class="tocitem" href="../api/">API</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Search</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Search</a></li></ul></nav><div class="docs-right"><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article><p id="documenter-search-info">Loading search...</p><ul id="documenter-search-results"></ul></article></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> on <span class="colophon-date" title="Thursday 16 April 2020 22:52">Thursday 16 April 2020</span>. Using Julia version 1.4.0.</p></section><footer class="modal-card-foot"></footer></div></div></div></body><script src="../search_index.js"></script><script src="../assets/search.js"></script></html>
|
||||
3
v1.2.0/search_index.js
Normal file
18
v1.2.0/style/index.html
Normal file
@ -0,0 +1,18 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Style guide · Gnuplot.jl</title><link href="https://fonts.googleapis.com/css?family=Lato|Roboto+Mono" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.11.1/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../"><img src="../assets/logo.png" alt="Gnuplot.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit">Gnuplot.jl</span></div><form class="docs-search" action="../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../">Home</a></li><li><a class="tocitem" href="../install/">Installation</a></li><li><a class="tocitem" href="../basic/">Basic usage</a></li><li><a class="tocitem" href="../advanced/">Advanced usage</a></li><li><a class="tocitem" href="../options/">Package options</a></li><li class="is-active"><a class="tocitem" href>Style guide</a></li><li><a class="tocitem" href="../terminals/">Gnuplot terminals</a></li><li><a class="tocitem" href="../recipes/">Plot recipes</a></li><li><a class="tocitem" href="../examples/">Examples</a></li><li><a class="tocitem" href="../api/">API</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Style guide</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Style guide</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/gcalderone/Gnuplot.jl/blob/master/docs/src/style.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Style-Guide-1"><a class="docs-heading-anchor" href="#Style-Guide-1">Style Guide</a><a class="docs-heading-anchor-permalink" href="#Style-Guide-1" title="Permalink"></a></h1><p>The <strong>Gnuplot.jl</strong> loose syntax allows to create a plot using very different approaches. While this was one of the initial purposes for the package, it may lead to decreased code readability if not used judiciously.</p><p>Here I will summarize a few, non-mandatory, guidelines which allows to maintain a neat syntax and a high readability:</p><h3 id="Use-macros-without-parentheses-and-commas:-1"><a class="docs-heading-anchor" href="#Use-macros-without-parentheses-and-commas:-1">1 - Use macros without parentheses and commas:</a><a class="docs-heading-anchor-permalink" href="#Use-macros-without-parentheses-and-commas:-1" title="Permalink"></a></h3><p>The two most important symbols exported by the package (<code>@gp</code> and <code>@gsp</code>) are macros. As such they are supposed to be invoked without parentheses and commas. E.g. use:</p><pre><code class="language-julia">@gp x y "with lines"</code></pre><p>in place of</p><pre><code class="language-julia">@gp(x, y, "with lines")</code></pre><p>If you have very long lines you may split them in multiple statements using the <code>:-</code> symbol, which resembles both hyphenation in natural language and indentation for the plot-producing code:</p><pre><code class="language-julia">@gp "set grid" :-
|
||||
@gp :- x y "with lines"</code></pre><p>Note that the trailing <code>:-</code> symbol is not mandatory. If omitted, the plot will be updated at each statement (rather than at the last one).</p><h3 id="Use-keywords-in-place-of-gnuplot-commands:-1"><a class="docs-heading-anchor" href="#Use-keywords-in-place-of-gnuplot-commands:-1">2 - Use keywords in place of gnuplot commands:</a><a class="docs-heading-anchor-permalink" href="#Use-keywords-in-place-of-gnuplot-commands:-1" title="Permalink"></a></h3><p>As discussed in <a href="../basic/#Keywords-for-common-commands-1">Keywords for common commands</a> several commonly used gnuplot commands can be replaced with a keyword. E.g. you can use</p><pre><code class="language-julia">@gp ... xrange=[-1,5] ...</code></pre><p>in place of</p><pre><code class="language-julia">@gp ... "set xrange [-1:5]" ...</code></pre><p>This help reducing the number of strings, as well as the associated interpolating characters (<code>$</code>), and results in a more concise syntax.</p><h3 id="Use-abbreviations-for-commands-and-keywords:-1"><a class="docs-heading-anchor" href="#Use-abbreviations-for-commands-and-keywords:-1">3 - Use abbreviations for commands and keywords:</a><a class="docs-heading-anchor-permalink" href="#Use-abbreviations-for-commands-and-keywords:-1" title="Permalink"></a></h3><p>Many gnuplot commands, as well as all keywords (see <a href="../basic/#Keywords-for-common-commands-1">Keywords for common commands</a>), can be abbreviated as long as the abbreviation is unambiguous. E.g., the following code:</p><pre><code class="language-julia">@gp "set grid" "set key left" "set logscale y"
|
||||
@gp :- "set title 'Plot title'" "set label 'X label'" "set xrange [0:*]"
|
||||
@gp :- x y "with lines"</code></pre><p>can be replaced with a shorter version:</p><pre><code class="language-julia">@gp "set grid" k="left" ylog=true
|
||||
@gp :- tit="Plot title" xlab="X label" xr=[0,NaN]
|
||||
@gp :- x y "w l"</code></pre><p>Besides being more idiomatic, the possibility to exploit abbreviations is of great importance when performing interactive data exploration.</p><p>Moreover, in many gnuplot examples and documentation it is very common to use abbreviations (i.e. <code>w l</code> in place of <code>with lines</code>) so there is no reason to avoid them in <strong>Gnuplot.jl</strong>.</p><h3 id="If-possible,-follow-the-*commands*-*data*-*plot-specs*-order-1"><a class="docs-heading-anchor" href="#If-possible,-follow-the-*commands*-*data*-*plot-specs*-order-1">4 - If possible, follow the <em>commands</em> -> <em>data</em> + <em>plot specs</em> order</a><a class="docs-heading-anchor-permalink" href="#If-possible,-follow-the-*commands*-*data*-*plot-specs*-order-1" title="Permalink"></a></h3><p>The two following examples produce exactly the same plot:</p><pre><code class="language-julia">x = -10.:10
|
||||
@gp "set grid" "set multiplot layout 2,1"
|
||||
@gp :- 1 x x.^2 "w l t 'f(x) = x^2" # first plot
|
||||
@gp :- 2 x x.^3 "w l t 'f(x) = x^3" # second plot</code></pre><p>and</p><pre><code class="language-julia">@gp 2 x x.^3 "w l t 'f(x) = x^3" # second plot
|
||||
@gp :- 1 x x.^2 "w l t 'f(x) = x^2" # first plot
|
||||
@gp :- "set grid" "set multiplot layout 2,1"</code></pre><p>However, the first form appears more <em>logical</em> and easy to follow.</p><p>In analogy with previous example, even on single plot, the following form</p><pre><code class="language-julia">@gp "set grid"
|
||||
@gp :- x x.^2 "w l t 'f(x) = x^2"</code></pre><p>should be preferred over</p><pre><code class="language-julia">@gp x x.^2 "w l t 'f(x) = x^2"
|
||||
@gp :- "set grid"</code></pre><p>even if the output is exactly the same.</p><h3 id="Join-multiple-command-strings:-1"><a class="docs-heading-anchor" href="#Join-multiple-command-strings:-1">5 - Join multiple command strings:</a><a class="docs-heading-anchor-permalink" href="#Join-multiple-command-strings:-1" title="Permalink"></a></h3><p>Instead of specifying several commands as strings</p><pre><code class="language-julia">@gp :- "set key off" "set auto fix" "set size square"
|
||||
@gp :- "set offsets graph .05, graph .05, graph .05, graph .05"
|
||||
@gp :- "set border lw 1 lc rgb 'white'"</code></pre><p>join them in a single string using triple quotes and <code>;</code></p><pre><code class="language-julia">@gp :- """set key off; set auto fix; set size square;
|
||||
set offsets graph .05, graph .05, graph .05, graph .05;
|
||||
set border lw 1 lc rgb 'white'; """</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../options/">« Package options</a><a class="docs-footer-nextpage" href="../terminals/">Gnuplot terminals »</a></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> on <span class="colophon-date" title="Thursday 16 April 2020 22:52">Thursday 16 April 2020</span>. Using Julia version 1.4.0.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
|
||||