
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Peritext is a multimodal publishing library built around the notion of resource contextualization.
Peritext is a javascript/node library aimed at facilitating the making of media-rich, data-driven and multimodal academic publication projects.
The core of the library is centered on manipulating a specific abstraction of academic documents, which I labeled the Resource-Contexutalization-Contextualizer Model.
The Resource-Contextualization-Contextualizer Model is a way to think of an academic document as something composed by contents
, resources
, contextualizations
and contextualizers
:
Contents
are the main linear, textual, contents of a publication. These are sections, titles, paragraphs, ... written by the author and ordered in a specific sequence. In peritext, they come written in regular markdown
syntaxResources
are all the external resources mentionned by the author. These can be bibliographical records (of books, articles, ...), medias (images, videos), data (as files, as url, ...), and even entities (persons, places, organization, concepts, ...). All the resources are described in the same logic, and written in bibTeX
syntaxContextualizations
are statements written by the author about how to contextualize a specific resource at a specific point of her text, in a specific way. For example, the same dataset resource will be able to be contextualized by the author as a table
, a timeline
, a map
, or a simple academic reference
contextualization.Contextualizers
are sets of contextualization parameters describing how to contextualize a resource. They can be explicit set and therefore reused along a given document ; or be taken as basis by specific contextualizations, to perform data travelling
operations for instance ; or they can be totally implicit and infered from a specific contextualization statement.dublincore
& opengraph
metadata, and schema
and RDFa
microdata at the level of tiniest elements.To allow an authoring process based on the RCC Model, Peritext library is a modular set of modules whose core is centered on converting the javascript representation of flatfile contents to the javascript RCC
representation of a multimodal academic document, and vice versa.
Flatfiles are written in plain text files (in markdown
and bibtex
syntaxes), and hosted in flatfile-structured data sources (ftp server, local hard drive/server files, google drive, amazon s3, ...). The relation to these datasources is handled by connectors plugins.
Contextualizations are handled through contextualizers plugins (written in javascript and react), that can be customized and overridable by specific applications. They are all supposed to handle both static/print outputs and dynamic/web outputs.
Outputs can be either files (in pdf, xml, html, ... formats) handled by exporters
plugins, or a library to use in another application to produce APIs, webapps, content editors, ...
Peritext is in its really early phase of existence : some modules APIs are inconsistant/overcomplicated and should change a lot in the near future, test coverage is quasi inexistant, contextualization components are minimal, and exporters too. Use it at your own risk, but more than that, feel free to give a hand to the project if you wish !
Peritext is built with flexibility, extensibility and lightness as core values.
Project's goal is to simplify and democratize the possibility of setting up a scholarly textual document accompanied with various interactive/multimodal figures (whether they be embedded from web services, or interactive figures presenting data such as timelines, graphs, interviews, ...).
To do so, the tool reads as input some simple text files (and possibly annotation attached to them through tierce sources such as Disqus), and produces as output a browsable, printable, indexing-friendly document.
Contextualization-related goals :
bibtex
, markdown
) and to extend them for the sake of the specific needs of multimodal academic publication projects. Bibtex is used for all resources, and contextualizers descriptions, including convential bibliographical records AND images, links, data sources, etc. descriptions. Markdown is used to write all the linear aspects of the stories displayed inside a document - that is: textual contents and contextualizations assertions.Flexibility-related goals :
Fluidity-related goals :
schema
micro-formatting specification for semantically describing html contents when possible.Experience-related goals :
Peritext is a technology built in the context of my Ph.D. in digital humanities, design & aesthetics, which deals with academic publishing in the humanities.
On an intellectual plan, it is the continuation of a joint reflection conducted about the roles and acceptions of "context" in humanities' academic publishing situations. This reflection was summarized by a 2014 milestone's conference communication that I co-authored with Donato Ricci.
On a practical plan, the project comes also as the amplification of a previous, very specific, multimodal article experiment, that I participated to as a designer, developper and researcher : http://modesofexistence.org/anomalies/ (source code is there : https://github.com/robindemourat/clues-anomaly-understanding ).
In the frame of my Ph.D., this experiment became first the project of a generic flat-file application engine for generating multimodal publications. Then it became an even more generic technology, aimed at being used as client tool, or as a library in other applications, such as the one I am developping in order to publish my own Ph.D. in multimodal format.
Therefore, the github peritext organization is aimed, on the long term, at progressively hosting the Peritext core library, but also a series of contextualization/connection/exporting plugins, and applications making use of this library in the context of reading and/or authoring multimodal academic contents.
If you're curious about what's going on or want to comment/give a hand to the project, check here the in-progress peritext v2 working documents about markdown specification, contents structures and technical choices.
FAQs
Peritext is a multimodal publishing library built around the notion of resource contextualization.
We found that peritext demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.