Jekyll One

Gem Version Gem

The theme was initially developed to create a simple but fully configurable website creation toolset for document servers. Document servers provide websites or other content formats like PDF, projects, software documentation, or similar approaches.

Many large today’s companies like Docker are using template-based systems to create their documentation sites. Or like O’Reilly Atlas, to provide a fully-featured writers platform for writing books or extensive documentation.

All these platforms are technically different, but they share common ideas:

  • the layout of all content (pages) is based on a standard skeleton but separated from the content

  • content is written using a neutral meta-language

  • the final output is not predefined

  • the result is automatically generated by engines (robots)

To make these ideas real, a lot of things are needed. You can imagine. The approaches of Docker or O’Reilly points to a possible solution: a template system based on Bootstrap for the CCS framework, Jekyll and Liquid for the core engines, and Asciidoc (Asciidoctor) for a neutral meta-language writing content.

The next thought comes to my mind. Why developing a toolset for only document servers? Documentation webs of today are complex websites. Some features used for general web design may not need for documentation systems, but a lot of components are wanted that are generally required:

  • a powerful CSS and Javascript framework

  • a modular approach for dynamic content and apps

  • a configuration system to separate content from the layout and to automate creation processes following the development pattern MVC (Model–View–Controller)

A plan was made in 2016, based on Jekyll V3 and Bootstrap V3, to create a template-based robot system that can be used for all types of websites for all standard formats to create digital content.

I was too optimistic about how long it would take to build such a system:

  • easy to use by developers and non-technical people

  • modular, powerful, and stable

  • supporting modern content design

  • usable on common computer hardware, available to the public

  • less in components, using well-known software

  • fully functional on small PC’s locally as well as on powerful remote systems on the Internet

It took me nearly four years. In early 2021, I can present the first version of the J1 Theme for the public. Hopefully, most of the objectives are met today.

Have fun!

Common Licenses

Find a list of all standard licenses used by the J1 Theme and the Products build-in. The following descriptions give an overview of what is licensed and granted. Note that some products using standard licenses may have additional restrictions for use. Therefore, if there doubts in use, check the product licenses individually.

Licence Description|Authority

Creative Commons (CC BY 4.0)

Products using the license can be used free of charge. Users are free to share, copy and redistribute the material in any medium or format, and are granted to adapt in terms of remix, transform, and build upon the material for any purpose, even commercially.

MIT

Products using the license can be used free of charge. Users are free in using the in the Software without restriction. This includes the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software without any limitation.

SIL Open_Font_License

Products using the license can be used free of charge. The Open Font License permits the fonts to be used, modified, and distributed freely, as long as the resulting fonts remain under the Open Font License. However, the copyright holder may declare the font’s name as being a Reserved Font Name, which modified versions then cannot bear; this includes subsetting for web fonts. The License permits covered fonts to be freely embedded in documents under any terms, but it requires that fonts be packaged with software if they used commercially.

Hall Of Fame

A bunch of software and systems are needed to create or publish websites. I’ve no idea how many people all over the world are working hard each and every day to manage this. A huge number of companies, thousands and thousands of private persons and projects contribute by their tools and software freely available to all of us on the Internet.

Thanks a lot to all the committed developers that make it possible to get such excellent software for free, available for all that are interested. Thanks a lot to all the companies providing free software. Or giving free access to their platforms to make it possible for individuals, private initiatives, small companies, and startups to take the first steps into the digital world of today.

The Hall of fame is a section work-in-progress. I’ll limit the number of entries for this section to hundred items to not get blown up.

J1 Theme is using 100+ main software products and platforms. And these 100+ products are using uncountable second-level components under the hood. For sure, all of them contributed to my project J1 Theme, and many, many others as well.

Again. Thanks to all individuals and organizations for making this possible.

Find the main software products and platforms listed below in alphabetical order - not by size. No doubts, all are important to make things real.

A - B

Product Producer Platform Description

AnimateCSS

Daniel Eden and Friends

CSS

Animate.css is a CSS library for cross-browser animations to be used in web projects. Great for emphasis, home pages, sliders, and attention-guiding hints.

J1 Theme is using Animate.css for all CSS based animations.
Product details
License:        MIT
Used version:   4.1.1
Year:           2020

Anime

Julian Garnier

JS

Anime.js is a Javascript library for complex, cross-browser animations to be used in web projects.

Anime.js is used by J1 for all complex, JS based animations.
Product details
License:        MIT
Used version:   3.2.0
Year:           2020

Asciidoctor

Dan Allen, Sarah White, Ryan Waldron, and Friends

Ruby

Asciidoctor is a open source text processor and publishing toolchain for converting AsciiDoc-based content to HTML5, DocBook, PDF, and other formats.

Asciidoctor provides a modern version of the neutral meta-language Asciidoc, used by J1 for writing content pages to be converted to HTML5, PDF and other formats.
Product details
License:        MIT
Used version:   1.5.8
Year:           2018

Asciidoctor PDF

OpenDevise Inc. and the Asciidoctor Project

Ruby

Asciidoctor PDF is a native PDF converter for AsciiDoc. It bypasses the requirement to generate an intermediary format such as DocBook, Apache FO, or LaTeX. Instead, the Asciidoctor PDF extension convert documents directly from AsciiDoc to PDF.

J1 uses Asciidoctor PDF to convert large content pages of a website (e.g documentation) to PDF.
Product details
License:        MIT, CC BY 3.0
Used version:   2.0.12
Year:           2020

Asciidoctor Rouge

Jakub Jirutka

Ruby

Asciidoctor Rouge provides an Asciidoctor extension for highlighting source listing blocks using Rouge, a pure-ruby code highlighter (compatible with the Python Pygments highlighter). The extension supports all Asciidoctor features such as callouts, highlighting of specified lines (attribute highlight), passthroughs inside a code and all other substitutions.

Asciidoctor Rouge is used by the theme for highlighting all listing blocks placed in content pages.
Product details
License:        MIT license
Used version:   0.4.0
Year:           2018

Babel JS

Sebastian McKenzie and Friends

JS

Babel JS is a modular and plugable JavaScript compiler/transpiler. Babel (pronounced: babble) is a community-driven project used by many companies and projects, and is maintained by a group of volunteers.

Babel JS is used by the J1 development system to transpile modern, ES5 Javascript code (written for NodeJS) for the use with web browsers that does’t or cannot (technically) support all ES5 language features.
Product details
License:        MIT license
Used version:   7.12.12
Year:           2021

Backstretch

Daniel Cohen Gindi, Scott Robbin

JS, jQuery

Backstretch is a jQuery plugin that allows to add dynamically resized, slideshow capable background images to any page or HTML element. Images are recalculated in size to stretch and fit the page or element. Backstretch supports responsivness by automatically resizing images as the size of the window in a browser changes.

Backstretch for J1 is mainly used for the top-level Headers (Attics) for all content pages. Images, or videos, gets automatically resized to fill a page header full-size.
Product details
License:        MIT license
Used version:   2.1.18
Year:           2019

Bootstrap

Bootstrap Authors, Twitter Inc. and Friends

CSS, JS

Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS- and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.

Bootstrap (BS@5) is the core CSS framework to create standardized, fully responsive HTML5 code from the content pages. A selected number of JS components of Bootstrap are build-in the template. BS4 is the base for the theming feature of J1.
Product details
License:        MIT license
Used version:   5.1.3
Year:           2021

Bootstrap Cookie Banner

Stefan Haack

JS

A modal dialog (cookie banner) and framework to handle the German and EU law (as written by EuGH C-673/17) about cookies in a website. Based on Bootstrap 5.

For the background of the privacy regulations introduces by GDPR in Europe and associated countries, cookie consent dialogs are required to inform your vistors to comply legal requirements. The API of Bootstrap Cookie Banner is fully integrated with J1 Theme.
Product details
License:        MIT license
Used version:   1.1.2
Year:           2020

Bootstrap ThemeSwitcher

Joseph Guadagno

CSS, JS

BS ThemeSwitcher is a jQuery plugin to dynamically download BS themes from Bootswatch. This plugin supports the automated population of Bootswatch themes for menus and selections. The plugin provides functions to switch a theme, and save the selected theme to a cookie as well as the load of a selected theme from cookies.

BS ThemeSwitcher is one of the core components for the theming feature of J1. The plugin helps to access the (JSON) API at Bootswatch, to generate the menu items for selecting themes.
Product details
License:        MIT license
Used version:   1.1.5
Year:           2014

Bootswatch

Thomas Park

CSS

Bootswatch provides a rich collection of free themes for Bootstrap. The platform provides a large number of diffent themes (pre-compiled BS@5 CSS files) to be directly used for websites using Bootstrap V5.

Bootswatch is fully interated with template to support the theming feature of J1 by pre-Compiled CSS files of BS@5. A wide range of light and dark themes are provided by Bootswatch. It’s worth to check what can be done.
Product details
License:        MIT license
Used version:   5
Year:           2021

Bootswatch API

Thomas Park

(JSON) API

A simple JSON API to request theme data, to integrate Bootswatch themes into websites.

The Bootswatch API is used by the J1 theming component to collect themes data for all themes available at the Bootswatch platform.
Product details
License:        MIT license
Used version:   5
Year:           2021

Bump

Gregory Marcil Hacy

Ruby

Bump is a gem to simplify the processes to build gems, to generate new versions and helps to integrate the gem creation process into Rake.

Bump is used by the J1 Theme development system to ease the process of versioning the J1 Theme Rubie, to populate the Gem to RubyGems for public access.
Product details
License:        MIT license
Used version:   0.10.0
Year:           2020

Builder

Jim Weirich

Ruby

The gem builder provide a simple way to create XML markup and data structures.

Builder is a very helpful library (Ruby Gem) for generating XML or HTML code. The gem is used by several Asciidoctor extentions, like the lightbox block extention. Builder creates the HTML-portion to integrate the Javascipt Lightbox plugin by an Asciidoc (block) tag.
Product details
License:        MIT license
Used version:   3.2.0
Year:           2013

C - D

Product Producer Platform Description

Cash

Ken Wheeler, Fabio Spampinato

JS

Cash is a lightweight alternative to jQuery ($) for modern browsers. The library provides a jQuery-style syntax for manipulating the DOM. Cash supports only a subset of features in compare to jQuery but will minimize the codebase. Developers can use the familiar chainable methods at a fraction of the file size.

A small number of modules, integrated with J1, is using Cash instead of jQuery. If only base functions for manipulating the DOM is needed, Cash may an alternative to jQuery to speedup processing time and the amount of data loaded.
Product details
License:        MIT license
Used version:   8.1.0
Year:           2020

clipboard

Zeno Rocha

JS

Clipboard is a quite small and easy to use Javascript library that implements a modern copy-to-clipboard functionality. Copying text to the OS clipboard shouldn’t be hard, it shouldn’t require dozens of steps to configure or hundreds of KBs to load. That’s why clipboard.js exists.

Clipboard is widely used for J1. It’s automatically attached to all code listing blocks of a page to make it easy to copy commands or code snippets.
Product details
License:        MIT license
Used version:   2.0.6
Year:           2020

Cors

Troy Goode

JS

Cors is a NodeHS package for providing a CORS secured Express middleware. Cross-Origin Resource Sharing (CORS) is an HTTP-header based mechanism that allows a web server to indicate a requester (origin) to allow or reject from loading of (web) resources. For security reasons, browsers restrict so-called cross-origin HTTP requests initiated from scripts.

The J1 development system is accompanied by a small NodeJS-based utilliy server - based on the Express middleware (Webserver). J1 Utilliy Server helps to collect log data from the webbrowser’s console to write them to files on disk. The JS module Cors is used to control cross-origin HTTP requests initiated by a browser.
Product details
License:        MIT license
Used version:   2.8.5
Year:           2020

CrossEnv

Kent C. Dodds

JS

The JS module cross-env supports the cross-platform use of environment variables. On Windows systems, a variable is written like %ENV_VAR%, on Unix-like systems (POSIX), variables looks like $ENV_VAR.

The J1 Development Systems is controlled by NodeJS project files package.json. All project files contain scripts to run base tasks to e.g. setup a J1-based project. To make this possible cross-platform, the module allows to use environment variables on all platform J1 is supported.
Product details
License:        MIT license
Used version:   7.0.3
Year:           2020

CrossVar

Elijah Manor

JS

The JS module cross-var supports the cross-platform use of variables of the shell. On Windows systems, a variable is written like %VAR%, on Unix-like systems (POSIX), variables looks like $VAR.

The J1 Development System is controlled by NodeJS project files (package.json). All project files in the repo contains scripts to run tasks, e.g. to setup a J1-based project. To make this possible cross-platform, the module CrossVar allows to use shell variables on all platforms J1 is supported.
Product details
License:        MIT license
Used version:   1.1.0
Year:           2017

Sass

Google LLC

JS

Dart Sass is the current and primary implementation of Sass, which means it gets new features before any other implementation. It’s fast, easy to install, and it compiles to pure JavaScript which makes it easy to integrate into modern web development workflows.

Product details
License:        MIT license
Used version:   1.32.6
Year:           2021

Datatables

SpryMedia Ltd.

JS (jQuery)

DataTables is a jQuery plug-in to construct HTM tables read from data like CSV files from disk or other data sources. It is a highly flexible tool, that adds advanced features, as e.g. searching, to any HTML table.

DataTables is fully integrated for the free version with J1 to create Bootstrap styled HTML tables from data sources. The jQuery plug-in is used by the J1 Docummentation to create searchable Bottstrap tables from CSV files.
Product details
License:        MIT license
Used version:   1.10.16
Year:           2019

Google Analytics Opt In

Lucio Martinez

JS

Google Analytics Opt In is a browser library to opt-in in Google Analytics. As a plus, it configures Analytics to anonymize IP addresses.

Google Analytics Opt In is integrated with the CookieConsent module of J1 to enable the cookie consent fully compatible with the General Data Protection Regulation (GDPR) of the European Union.
Product details
License:        MIT license
Used version:   2.0.0
Year:           2020

E - G

Product Producer Platform Description

ESlint

JS Foundation and Friends

JS

A linter is a code analysis tool used to flag programming errors, bugs, stylistic errors, and suspicious constructs. ESLint is a linter for identifying and reporting on incorrect patterns found in ECMAScript/JavaScript code.

To make JS code consistency sure for all components using JavaScript used by J1, the Development System is using ESLint to inspect JS based modules for correctness.
Product details
License:        MIT license
Used version:   7.19.0
Year:           2021

ExecJS

Sam Stephenson, Josh Peek

JS

ExecJS let run JavaScript code from Ruby. The gem automatically picks the best runtime available to evaluate a JavaScript program, and returns the result as a Ruby object.

Some libraries needed for J1 are not available as pure Ruby code. For the search engine Lunr, used by J1 QuickSearch, the code base available is written in Javascript. To create index data for Lunr from the Ruby/Jekyll plugin lunr_index.rb, ExecJS is used to run the JS portion.
Product details
License:        MIT license
Used version:   2.7.0
Year:           2016

Font Awesome

Fonticons, Inc.

CSS

Font Awesome is a popular icon library. Font Awesome Free is free, open source, and GPL friendly. It can be for commercial projects, open source projects, or really almost whatever you want.

Icons

CC BY 4.0 License. In the Font Awesome Free download, the CC BY 4.0 license applies to all icons packaged as SVG and JS file types.

Fonts

SIL OFL 1.1 License. In the Font Awesome Free download, the SIL OFL license applies to all icons packaged as web and desktop font files.

Font Awesome Free is an alternative to the J1’s default icon font set provided by Material Design Icons (MDI). Font Awesome icons are used for default by Asciidoctor for several block elements like admonitions (see this element).
Product details
License:        Font Awesome Free License
Used version:   5.15.2
Year:           2021

GetOS

William Blankenship

JS

GetOS is a NodeJS module to collect OS and Distribution details of the current environment.

The module GetOS is used by the J1 Development System to identify the current OS to run OS specific commands from project scripts (package.json).
Product details
License:        MIT license
Used version:   3.2.1
Year:           2020

Git

Software Freedom Conservancy

Application

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

J1 based web projects should be tracked under control of Git. This enables developers to manage code changes by the power of a modern version control system
Product details
License:        GPL v2
Used version:   2.30.0
Year:           2021

Github

GitHub, Inc.

Platform

Github is a code hosting platform for version control and collaboration using the version control system Git. It lets programmers and others work together on projects from anywhere. Millions of developers and companies build, ship, and maintain their software on Github.

J1 based web projects should be tracked under control of Git. To place such a Git repo at Github, for single projects or small groups could this be done for free.

Google LLC

Google LLC

Platform

Google LLC is an American multinational technology company that specializes in Internet-related services and products. This include online advertising technologies (Google Ads), online monitoring services (Google Analytics), a search engine, cloud computing, hardware and a huge number of large software projects like the operating system Android for mobile computing.

The company Google is omnipresent in the digital world. It is very unlikely, that an Internet-related project does not use products, services or concepts (originally) created by Google. J1 Theme supports for example Google Ads, Google Analytics by J1 Connectors and adapts concepts from Google Material Design for Web Design.

H - J

Product Producer Platform Description

Heroku

Salesforce, Inc.

Platform

Heroku is a commercial Internet platform. The company offers a container-based cloud Platform as a Service (PaaS). Developers use Heroku to deploy, manage, and scale modern (web) apps. The platform is flexible, and easy to use, offering developers a simple path to getting their products to market.

J1-based websites can be run as (web) apps as well. The number of companies that offers a managed platform for web applications is quite limited. Heroku is one of these providers, another one is Digital Ocean (but using Heroku services under the hood).

Iconify

Iconify OÜ

Platform

Iconify is a unified open source icon framework that makes it possible to use icons from different icon sets on same page or in same application using one syntax. Iconify combines pixel perfect rendering of SVG with ease of use of glyph fonts, while offering more choice than any glyph font or SVG framework.

Icon sets are ever growing. No font icon set can provide all possible icons. If a icon for a social network or a company is missing in the current font icon set, Iconify can help. The template integrates Iconify by an Asciidoctor extention easy to use.

IframeResizer

David J. Bradshaw

JS

IframeResizer is a library to manage iFrames on a client-server-basis. It enables the automatic resizing of the height and width to fit their contained content, and add control to iFrames loaded cross domain. The library provides a wide range of features to address the most common issues with using iFrames for HTML contents.

For J1 Theme, IframeResizer is fully integrated as a module. The template use the library for example to block cross domain request for iFrames.
Product details
License:        MIT license
Used version:   4.2.9
Year:           2020

jQuery

OpenJS Foundation and jQuery contributors

JS

jQuery is a fast, small, and rich JavaScript library for DOM manpipulation. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler across most modern browsers. With a combination of versatility and extensibility, jQuery has changed the way of people write JavaScript.

Many modules implemented with J1 are wriiten as jQuery plugins, and J1 use jQuery to write JavaScript code as well.
Product details
License:        MIT license
Used version:   3.5.1
Year:           2020

Jekyll

Tom Preston-Werner, Parker Moore, and the Jekyll Project Team

Ruby

Jekyll is a robot, an automation engine build on the programming language Ruby. The engine is used to build static websites from dynamic components such as templates, partials, liquid and asciidocor markdown code.

Jekyll is a core component of Github Pages, a feature that allows users to host websites based on their GitHub repositories for no additional cost.
Product details
License:        MIT license
Used version:   4.2.2
Year:           2022

Jekyll Asciidoc

Dan Allen, Paul Rayner, and the Asciidoctor Project

Ruby

Jekyll Asciidoc, a plugin for Jekyll that converts AsciiDoc source files to HTML pages using Asciidoctor.

Jekyll Asciidoc is a core component of J1 to convert the Asciidoc markdown source code for all posts and pages to HTML5.
Product details
License:        MIT license
Used version:   3.0.0
Year:           2019

Jekyll Compress

Anatol Broder

Liquid

Jekyll Compress is a Jekyll Layout that compresses HTML. Its used to remove all unnecessary characters, like whitespaces or optional start and end tags, from the generated HTML code of a content page.

Jekyll Compress is used by J1 in production mode to reduce the size of the generated HTML code by Jekyll to a minimum. The helps to minimize the load time of a web page. As a side effect, compressing will do an obfuscation for the HTML source code
Product details
License:        MIT license
Used version:   2.0.6
Year:           2020

Jekyll Feed

Ben Balter and Friends

Ruby

Jekyll Feed is a Jekyll plugin to generate an Atom (RSS-like) feed of your Jekyll posts.

Product details
License:        MIT license
Used version:   0.15.1
Year:           2020

Jekyll Paginator V2

Sverrir Sigmundarson, Juergen Adams

JS

The Jekyll Paginator V2 gem built specially for Jekyll 3 and newer that is fully backwards compatible and serves as an enhanced replacement for the previously built-in jekyll-paginate gem.

To make Jekyll Paginator V2 usable for all current versions of Jekyll, this Rubie has been modified and pubslished as gem j1-paginate to be downloaded from RubyGems as usual. The Rubie j1-paginate is loaded by the J1 Gemfile as a replacement for the original gem.
Product details
License:        MIT license
Used version:   2021.1.1
Year:           2021

Jekyll Sitemap

GitHub Inc. and Contributors

Ruby

Jekyll Sitemap, a Jekyll plugin to silently generate a sitemaps.org compliant sitemap for a Jekyll site.

Product details
License:        MIT license
Used version:   1.4.0
Year:           2019

JS YAML

Vitaly Puzrin

JS

The NodeJS module JS YAML implements a YAML (v1.2) parser-writer for JavaScript.

JS YAML is used by the J1 Utility Server to read Jekyll (YAML) configuration files for several modules.
Product details
License:        MIT license
Used version:   4.0.0
Year:           2021

JSON Minify

Kei Funagayama

JS

Simple NodeJS library that implements a minifier for JSON based objects and documents (files) to remove unnessesary comments and whitespaces.

For production mode, J1 compress all files of all types used in a project. JSON-based files (documents) may huge in size. To load JSON-based files by a browser efficiently, all JSON files used by the J1 Theme are compressed using the module JSON Minify for production.
Product details
License:        MIT license
Used version:   0.4.1
Year:           2015

Justified Gallery

Miro Mannino

JS

Justified Gallery is a JavaScript library that allows you to create an high quality gallery of images. The gallery is using a so-called masonry grid layout. It works by placing elements in an optimal position based on available horizontal and vertical space. Sort of like mason fitting stones in a wall.

Pictures made are typically not even in size. Images may have the same size (resolution), but some of them are orientated landscape or other may portrait. For that reason, J1 provides the more powerful Justified Gallery fully integrated as a module to create justified views.
Product details
License:        MIT license
Used version:   3.8.1
Year:           2020

K - L

Product Producer Platform Description

Lerna

Lerna Contributors

JS

Lerna is a tool for managing large (JavaScript) projects splitted in multiple packages but using a single repository; a so-called Mono-repo. Splitting up a large codebase into separate packages is extremely useful for code sharing. However, making changes across many repositories is messy and difficult to track, and testing across repositories becomes complicated very quickly.

The development system of J1 is a Lerna driven Mono-repo, splitted into six packages. All packages are managed by Javascript using independed project files (package.json), but - managed by Lerna - they work very closely together.
Product details
License:        MIT license
Used version:   3.22.1
Year:           2020

LightGallery

Sachin N

JS

LightGallery is a customizable, modular, responsive, lightbox gallery plugin for jQuery. The name is a bit confusing, because LightGallery is a lightbox not a gallery. The lightbox behaves like a gallery as LightGallery is able to load multiple images displayed as (image) icons to select images like a gallery very handy.

LightGallery is a powerful free jQuery plugin for open-source projects. LightGallery is fully integrated with J1 for all image (and video) related modules as a lighbox.
LightGallery is free to use for open-source projects for free use. If the library is used for business, commercial sites, or projects to be paid for the Commercial license of LightGallery is required.
Product details
License:        GPLv3, Commercial license
Used version:   1.6.12
Year:           2019

Lightbox V2

Lokesh Dhakar

JS

Lightbox V2 is small javascript library used to overlay images on top of the current page. It’s a snap to setup and works on all modern browsers.

J1 integrates Lightbox V2 as a lightweight alternative to the lightbox LightGallery. The library is integrated as an Asciidoc Extension - really easy to use on images or group of images.
Product details
License:        MIT license
Used version:   2.11.3
Year:           2020

Liquid

Tobias Luetke

Ruby

Liquid is an open-source template language (for websites and HTML code generation) created by Tobias Luetke. The template language is the backbone of Shopify themes and is used to load dynamic content on storefronts. The static site generator Jekyll use Liquid build-in as a core component for layouts and general (web page) templating.

J1 is using Liquid to generate CSS, JS and HTML code to integrate 3rd party modules into the theme like Lightbox V2 or LightGallery. In combination with (YAML-based) configuration files, the template engine generates the code needed for a webpage and no complex programming is needed.
Product details
License:        MIT license
Used version:   4.0.3
Year:           2019

Log4Javascript

Tim Down

JS

Log4Javascript (log4js) is a JavaScript logging library inspired by the Java logging framework Apache Log4j. The framework implements a subset of Log4j; primarily loggers, appenders and layouts.

Logging is a important feature to track the run-time of software and systems. To provide industry-standard logs for a J1 based website, the template system is using log4js to generate logs for the web browser console.
Product details
License:        Apache V2 license
Used version:   1.4.13
Year:           2015

Log4r

Colby Gutierrez-Kraybill, Leon Torres

Ruby

Log4r is a comprehensive and flexible logging library inspired by the Java logging framework Apache Log4j written in Ruby for use in Ruby programs. It features a hierarchical logging system of any number of levels, custom level names, logger inheritance, multiple output destinations per log event, execution tracing, custom formatting, thread safteyness, XML and YAML configuration, and more.

Log4r is used for all Ruby based components (Ruby Gems and Jekyll Plugins) of J1 for run-time tracking. The log format of Log4r is the same as for Log4Javascript to make loglines 100% comparable.
Product details
License:        MIT license
Used version:   1.1.11
Year:           2014

Lunr

Oliver Nightingale

JS

Lunr is a small, full-text search library for use in the browser. It indexes JSON documents and provides a simple search interface for retrieving documents that best match text queries. The search library enables website creators to provide a great search experience on their content.

Lunr is used for J1 QuickSearch, the build-in search engine for J1 Template based websites. J1 QuickSearch enables a powerfull search functionality without the need for commercial, internet-based search services like Google.
Product details
License:        MIT license
Used version:   2.3.9
Year:           2020

M - O

Product Producer Platform Description

MDB

Federico Zivolo and Friends

CSS, JS

Material Design for Bootstrap supports the Material Design guidelines of Google for Bootstrap based webs and web applications. MDB is an open source toolkit based on Bootstrap V4/V5 for developing Material Design apps with HTML, CSS, JS, and powerful plugins built on jQuery.

Material Design for Bootstrap (MDB) is used by J1 to extend the BS5 based theme for forms and inputs that follow the Material Design (MD) guidelines defined by Google. MDB is used only for a selected number of CSS components.
Product details
License:        MIT license
Used version:   4.1.3
Year:           2020

Material Design Icons

Austin Andrews and Friends

CSS

Material Design Icons (MDI) is a community-driven project to create an increased number of icons based on Google’s official repository and the Material Design style specified by Google.

The primary icon-set for J1 Theme is MDI because it is extremely rich set providing more than 5900+ icons for the current version (v5.9.55). From a design perspective, MDI has an excellent Material Design support and comes build-in with the original icon set created by Google.
Product details
License:        Pictogrammers Free License
Used version:   5.9.55
Year:           2021

Materialize

Materialize and Friends

CSS, JS

Materialize is a CSS Framework following the prinziples of Goolgle’s Material Design.

J1 Theme is inspired by Materialize for the implementation of some Javascript based on Material Design. For example, the FAM button is based on the JS code of Materialize.
Product details
License:        MIT license
Used version:   1.0.0
Year:           2020

MobileMenu Light

Fred Heusschen

JS

MobileMenu Light is the extremely small and lightweight library to create menus to be used on mobile devices. It creates a beautiful, intuitive off-canvas menu for mobile websites and web-apps.

J1 use MobileMenu Light to transform the menus provided by the navigation bar into menus usable on mobile devices. With the help of this library, menus can be displayed on small displays or small window-sizes in a browser.
Product details
License:        CC-BY-4.0 license
Used version:   3.0.8
Year:           2021

MsDropdown

Marghoob Suleman

JS

MsDropdown is a quite handy JS library for enhanced HTML <select> elements (dropdowns). Up to now, it is not possible to use e.g. images inside a <select> element. With the help of MsDropdown, standard HTML dropdowns base on <select> elements are tranformed into powerful dropdowns.

Product details
License:        MIT
Used version:   4.0.3
Year:           2021

{url-nbinteract—​home}[NbInteract, window="_blank"]

Sam Lau

JS

NbInteract is a JS library to integrate HTML exported Jupyter Notebooks into interactive webpages.

Product details
License:        BSD 3-Clause License
Used version:   0.2.6
Year:           2018

Netlify

Netlify Inc.

Platform

Netlify provides everything you need to build fast, modern websites based on modern static site generators like Jekyll (and many others). Powerful features like continuous deployment and serverless functions support your website for the better.

Netlify is an option to deploy, to place a J1-base static web on the Internet. Running a web on this platform is easy to manage, very fast and can be done for free.

NodeJS Language

OpenJS Foundation

JS

NodeJS is an open-source, cross-platform, back-end JavaScript runtime environment that runs on the Chrome V8 engine and executes JavaScript code outside a web browser.

All Javascript resources running outside the browser are based on NodeJS. The J1 package management and control is using NodeJS, the J1 Utility Server is based on this runtime environment.
Product details
License:        MIT license
Used version:   12.19.0
Year:           2020

Node Sass

OpenJS Foundation

JS

Node Sass is a library that provides binding for NodeJS to LibSass, the C version of the popular stylesheet preprocessor Sass. It allows to natively compile .scss files to css at incredible speed.

The J1 Development system is using Node Sass to process Sass sources into CSS files. Because LibSass is not longer maintained by the makers of Sass, J1 will move from Node Sass to Dart Sass for upcoming releases.
Product details
License:        MIT license
Used version:   5.0.0
Year:           2020

Nokogiri

Mike Dalessio, Aaron Patterson, Yoko Harada, Akinori MUSHA, John Shahid, Karol Bucek, Lars Kanis, Sergio Arbeo, Timothy Elliott, Nobuyoshi Nakada, Charles Nutter, Patrick Mahoney

Ruby

Nokogiri is an open source software library to parse HTML and XML in Ruby. The library (鋸) makes it easy and painless to work with XML and HTML from Ruby. It provides a sensible, easy-to-understand API for reading, writing, modifying, and querying documents. It is fast and standards-compliant by relying on native parsers.

Nokogiri is the base (Ruby) library for HTMl processing and manipulation.
Product details
License:        MIT license
Used version:   1.11.1
Year:           2021

Nokogiri Pretty

Toby Matejovsky

Ruby

Nokogiri Pretty pretty-prints the contents of Nokogiri documents (XML/HTML).

Nokogiri Pretty is used by J1 to check code consistency and prettifies all HTML pages generated by Jekyll for better human readability.
Product details
License:        MIT license
Used version:   0.1.0
Year:           2013

NPM

npm Inc. and Contributors (CLI)

Plattform (JS), CLI (JS)

NPM is two things: first and foremost, it is an online repository for the publishing of open-source NodeJS projects. Second, it is a command line utility/interface (CLI) for interacting with said repository that aids in package installation, version and dependency management and project control.

J1 is using NPM both ways: as an online repository to downlad all JS modules online needed for the project and as a command line interface (CLI) to run the project (offline).
Product details (CLI)
License:        The Artistic License 2.0
Used version:   6.14.8
Year:           2020

Npm Run All

Toru Nagashima

JS

NPM Run All is a command line tool (CLI) to run multiple npm scripts in parallel or sequential.

The J1 project is using the NPM CLI to run all tasks to create and run a website. NPM Run All helps to run project tasks efficiently; if possible in parallel.
Product details
License:        MIT license
Used version:   4.1.5
Year:           2018

Omniauth

OmniAuth is a library that standardizes multi-provider authentication for web applications. It was created to be powerful, flexible, and do as little as possible. Any developer can create strategies (plugins) for OmniAuth that can authenticate users via disparate systems.

OmniAuth is the core library for J1 for authentication if a site is run as a web application. Several plugins are used to implement authentication for e.g. Oauth or Basic Authentication.
Product details
License:        MIT license
Used version:   2.0.2
Year:           2021

Omniauth Oauth2

Michael Bleigh, Erik Michaels-Ober and Intridea Inc.

Ruby

Omniauth Oauth2 provides a generic OAuth2 strategy for OmniAuth. It is meant to serve as a building block strategy for other strategies and not to be used independently (since it has no inherent way to gather uid and user info).

Omniauth Oauth2 is used by J1 to implement a OmniAuth (authentication) strategy for Oauth2 to access providers like Github, Disqus, or Facebook if a J1 site is run as an web application.
Product details
License:        MIT license
Used version:   1.7.1
Year:           2021

OwlCarousel (V1)

Bartosz Wojciechowski

JS

OwlCarousel (V1) provides a touch enabled (e.g mobile devices) jQuery plugin that lets create beautiful responsive carousel slider.

OWL Carousel V1 is no longer available on the Internet; for an unknown reasons. Anyway, J1 Theme is using this version of OWL Carousel as a build-in carousel module because the software does a excellent job.
Product details
License:        MIT license
Used version:   1.23
Year:           2016

P - R

Product Producer Platform Description

ParseURL

Jonathan Ong, Douglas Christopher Wilson

JS

Parse a URL (unified resource locator) with memoization.

ParseURL is a small library that provides a parser for all types of internet addresses (URLs) to split them into their components. J1 uses the parser to split and extract data from URLs.
Product details
License:        MIT license
Used version:   1.3.3
Year:           2019

Platform

Benjamin Tan, John-David Dalton

JS

Platform is a platform detection library that works on nearly all JavaScript platforms.

The detection library Platform is a useful helper to detect and collect all relevant details of the operating system (platform) a J1 based site is running.
Product details
License:        MIT license
Used version:   1.7.1
Year:           2021

Popper

Federico Zivolo

JS

Popper is a Tooltip and Popover positioning engine to support a better web design for user notification. Given an element, such as a button, and a tooltip element describing it, Popper will automatically put the tooltip in the right place near the button.

Popper is one of the core JS components of Bootstrap V5 and used by J1 for easier positioning of UI (user interface) components. Note that the older version 1.x is used for Bootstrap compatibility.
Product details
License:        MIT license
Used version:   2.10.2
Year:           2021

Puma

Evan Phoenix, Zed Shaw

Ruby

Puma is a Ruby Web Server built for concurrency. The Web Server is a simple, fast, multi-threaded, and highly concurrent HTTP 1.1 server made for Ruby and Rack-based (web) applications.

If a J1-based website in run as an web application, Puma used for the Web Server.
Product details
License:        BSD-3-Clause license
Used version:   5.2.1
Year:           2021

Rack

Leah Neukirchen

Ruby

Rack is a modular interface between web servers and web applications developed in the Ruby programming language. With Rack, application programming interfaces (APIs) for web frameworks and middleware are wrapped into a single method call handling HTTP requests and responses.

Rack is used by many Ruby web frameworks and libraries, such as Ruby on Rails and Sinatra. J1 Theme transforms a website into an web application using the framework Sinatra.
Product details
License:        MIT license
Used version:   2.2.2
Year:           2021

Rack Protection

Konstantin Haase, Zachary Scott

Ruby

Rack Protection is part of the Ruby web framework Sinatra, but work for all Rack apps, including Rails. It protect against typical web attacks like Cross Site Request Forgery (CSRF), Cross Site Scripting, Clickjacking, Session Hijacking, etc.

J1 Theme use this Ruby Gem to protect a website, that is run as an web application, against typical web attacks.
Product details
License:        MIT license
Used version:   2.1.0
Year:           2021

Rack SSL Enforcer

Tobias Matthies

Ruby

Rack SSL Enforcer is an add-on, a middleware for Rack to enforce SSL connections.

For J1 websites running as web applications, the (Rack) middleware Rack SSL Enforcer can be used to establish secure, encrpyted HTTPS connections using SSL.
Product details
License:        MIT license
Used version:   0.2.9
Year:           2017

Roboto

Google, Christian Robertson

Font

Roboto is a chararcter font used by Google Material Design for the default. For J1 Theme, Roboto is the default font as well for non-serif characters.

The font Roboto is non-serif, has a mechanical skeleton and the forms are largely geometric. At the same time, the font features friendly and open curves. The font excellent readable in all sizes and gives a quite harmonic and natural text flow.
Product details
License:        Apache License, Version 2.0
Used version:   1.7.1
Year:           2021

Rouge

Jeanine Adkisson, Drew Blessing, Goro Fuji and Friends

Ruby

Rouge is a pure Ruby syntax highlighter. It can highlight 100+ different languages, and output HTML or ANSI 256-color text.

For J1 Theme, Rouge is used for highlightning all (Asciidoc) code blocks placed in the sources of a web page.
Product details
License:        MIT license
Used version:   3.26.0
Year:           2020

Ruby Language

Yukihiro Matsumoto and Contributors

Ruby

Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write.

J1 Theme is based on Jekyll, a static site generator written in Ruby.
Product details
License:        2-clause BSDL license
Used version:   2.6.6
Year:           2020

RubyGems

Nick Quaranto and Contributers

Platform (Ruby)

RubyGems.org is the Ruby community’s gem hosting service. The interface for RubyGems is a command line tool called gem which can install and manage Ruby libraries (the gems, the Rubies).

All Ruby libraries (gems) used by the project J1 Theme are available for free at RubyGems.

S - T

Product Producer Platform Description

Tablesaw

Filament Group

JS

Tablesaw provides a set of Javascript plugins to support responsive HTML tables easy to use in web pages.

The people at Filament Group collected a set of well-known strategies to make HTML tables usable for responsive Web Design. J1 Theme make use of the Stack Mode plugin to make larger, multi-column (HTML) tables readable on small (mobile) devices or browser windows.
Product details
License:        BSD license
Used version:   3.1.0
Year:           2018

Terser

Mihai Bazon and Friends

JS

Terser is a JavaScript parser and mangler/compressor toolkit for Javasript ES6+ code.

To compress (uglify) Javascript files, J1 is using Terser to create the minified versions for all JS components (of the JS package) used by a website running in production mode.
Product details
License:        BSD license
Used version:   5.5.1
Year:           2020

ThemeSwitcher

Joseph Guadagno

JS

ThemeSwitcher is a jQuery plugin for dynamically loading Twitter Bootstrap themes from Bootswatch. The plugin allows for the automatic populating of UL and SELECT elements with the names of themes available. The plugin can switch a theme, save the selected theme to a cookie and load the selected theme from a cookie vice-versa.

ThemeSwitcher is one of the core components for the theming feature of J1 Theme to select and load themes from Bootswatch.
Product details
License:        MIT license
Used version:   1.15
Year:           2015

TocBot

Tim Scanlin

JS

Tocbot builds a table of contents (TOC) from headings in an HTML document. This is useful for documentation websites or long markdown pages because it makes them easier to navigate. Tocbot uses native DOM methods and avoids any jQuery and jQuery UI dependencies.

For J1, Tocbot is the core library to create dynamic table-of-content menus (TOC) availabe for all content pages (if enabled). The library is fully configurable, fast and support smooth scrolling out of the box.
Product details
License:        MIT license
Used version:   4.12.0
Year:           2020

Twemoji

Twitter, Inc and contributors

JS

Emoji (絵文字) are ideograms and smileys used in electronic messages and web pages. Twemoji is a simple library that provides standard Unicode for Twitter’s Emoji support across all platforms.

J1 implements Twitter emoji’s based on a standrad font icon set. Emoji’s can be used in a web page using an AsciiDoc extention like all all other font icons provided by Font Awesome or Material Design Icons.
Product details
License:        MIT license
Used version:   13.0.1
Year:           2020

Twemoji Picker

Jordan Gillet (xLs51)

JS

Twemoji Picker is a jQuery plugin that adds support for twemoji to select icons from a HTML textarea element.

For easier use for Twitter emoji’s, a previewer is provided. The core component for previewer is Twemoji Picker to select easily icons with the mouse.
Product details
License:        MIT license
Used version:   2017
Year:           2017

U - V

Product Producer Platform Description

Uglifier

Ville Lautanala

Ruby

Uglifier is a Ruby-based wrapper for the JavaScript UglifyJS compressor.

To compress (uglify) so-called Javascript module adapter, J1 compress all JS adapters by Uglifier for webs run in production mode.
Product details
License:        MIT license
Used version:   4.2.0
Year:           2019

VideoJS

Brightcove, Inc.

JS

VideoJS is a web video player built from the ground up for an HTML5 world. It supports HTML5 video and modern streaming formats, as well as YouTube, or Vimeo. It supports video playback on desktop and mobile devices as well.

J1 Theme support video content by native HTML5 and players like VideoJS as an alternative to use.
Product details
License:        Apache V2 license
Used version:   7.11.4
Year:           2021

Vimeo

Vimeo Inc.

Platform (video content)

Vimeo is an video hosting, sharing, and services platform. Vimeo operates on an ad-free basis, and instead derives revenue by providing commercial subscription plans for businesses and video content producers and offering software as a service (SaaS).

Vimeo provides video content created by professionals. In compare to YouTube the contents are quite professional, made primarely for business use. J1 is using some video streams for examples using video content with J1 websites.

W - Z

Product Producer Platform Description

Warden

Daniel Neighman, Justin Smestad and Friends

Ruby

Warden provides a mechanism for authentication in Rack based Ruby applications. It’s made with multiple applications sharing within the same rack instance in mind.

Warden is used by J1 if a website is run as a web application based on Rack and Sinatra. The library is the core component to transform a visit (instance) of a website into a session for the visitor. If a J1 website uses authentication, Warden takes care of the authentication state of the visitor to provide access for all pages, the user is already authenticated for.
Product details
License:        MIT license
Used version:   1.2.9
Year:           2020

Webpack

JS Foundation and Contributers

JS

Webpack is a module bundler for Javascript. The main purpose of the bundler is to take all code from an application and makes it usable in a web browser.

Webpack is used by the J1 Development System to dynamically compile JavaScript sources on changes at run-time and compile static JS code of all core components makes usable in a web browser.

Yarn

Facebook Inc.

JS

Yarn is a new package manager that replaces the existing workflow for the npm client (CLI) while remaining compatible with the npm registry. It has the same feature set as existing workflows while operating faster, more securely, and more reliably.

Yarn is the favorite package manager CLI (over npm) managing a J1 project.
Product details
License:        BSD license
Used version:   1.22.10
Year:           2020

YouTube

Google LLC

Platform (video streams)

YouTube is an online video-sharing platform for the public and for business use. The platform allows users and customers to upload, view, rate, share, add to playlists, report, comment on videos, and subscribe to other users. On YouTube, all type of content is available.

YouTube provides video content of all type. J1 is using some video streams for examples using video content with J1 websites.