Skip to content

Instantly share code, notes, and snippets.

View michael's full-sized avatar

Michael Aufreiter michael

View GitHub Profile
@michael
michael / reproducible-jats.xml
Created June 28, 2017 07:36
Ideas for modelling reproducible documents in JATS
<!-- Executable Cell (e.g. Jupyter) -->
<cell>
<source language="javascript">
<![CDATA[var randomNumbers = []
for (var i = 0; i < length; i++) {
randomNumbers.push(Math.floor(Math.random()*100))
}
return randomNumbers]]>
</source>
<value value-type="array">

[ Englisch | Deutsch ]

Software Entwickler/in - Open Publishing Software, Linz, Vollzeit, ab Juni 2017

Wir sind ein Team von Experten im Bereich Open Digital Publishing. Seit 2010 entwickeln wir moderne web-basierte Publikationssysteme mit Hilfe unserer eigenen Software-Library Substance [1]. Gemeinsam mit unseren Partnern Stencila [2] und eLife [3] entwickeln wir eine innovative Lösung, die es Wissenschaftlern ermöglicht Daten und Methoden in ihre wissenschaftlichen Publikationen zu integrieren um Reproduzierbarkeit zu gewährleisten [4]. Um dies zu realisieren suchen wir nach Verstärkung!

Deine Aufgaben:

  • Arbeiten im Team mit den Geschäftsführern Michael und Oliver
  • Entwicklung von Substance [1], unserer Javascript Library

[ English | German ]

Software Developer - Open Publishing Software, Linz, full-time, from June 2017

We are a team of experts in the field of Open Digital Publishing. Since 2010 we develop modern publishing systems using our very-own software library Substance [1]. Together with our partners Stencila [2] and eLife [3] we develop an innovative solution for scientists, that allows them to include data and methods into their manuscripts, ensuring reproducibility [4]. For that reason we are looking for a skilled developer to join our team here in beautiful Linz, Austria.

What you will do day-to-day:

  • work together with the founders Michael and Oliver
  • development of Substance [1], our library for web-based content editing
// Just for reference
onWorkflowStarted(workflowName, props) {
let renderContext = RenderingEngine.createContext(this)
let $$ = renderContext.$$
let WorkflowComponent = this.getComponent(workflowName)
let workflowEl = $$(WorkflowComponent, props).ref('workflow')
this.append(workflowEl)
}
/* Probably no longer needed */
DB OPERATIONS
=================================
{}
Substance Storage API
========================
var _ = require('underscore');
var Document = require('lens/substance/document');
var AMSContributor = function(node, doc) {
Document.Node.call(this, node, doc);
};
AMSContributor.type = {
"id": "contributor",
"parent": "content",
.sc-bib-items-panel {
.se-bib-item {
position: relative;
font-size: $small-font-size;
padding: $default-padding;
border-bottom: 1px solid $border-color;
border-left: 3px solid transparent;
// Slow function that we want to cache
getResourcesMap = function(cb) {
...
cb(null, res);
}
// Making a new cache by passing slow function to
// the constructor and the refresh interval
var resourceMapCache = new APICache(getResourceMap, 5000);
// Slow function that we want to cache
getResourcesMap = function(cb) {
...
cb(null, res);
}
// Making a new cache by passing slow function to
// the constructor and the refresh interval
var resourceMapCache = new APICache(getResourceMap, 5000);
<html>
<head>
<meta charset="UTF-8">
<style>
body {
line-height: 20px;
font-size: 15px;
color: #555;