--- title: J1 Template tagline: first version is out date: 2021-03-03 00:00:00 categories: [ Featured ] tags: [ About, J1 ] series: false image: /assets/images/modules/attics/runner-1920x1200.jpg adsense: false comments: false advertising: false fam_menu_id: default toc: false regenerate: false resources: [] resource_options: - attic: padding_top: 400 padding_bottom: 50 opacity: 0.5 slides: - url: /assets/images/modules/attics/runner-1920x1200.jpg alt: Photo by Alex Holyoake on Unsplash badge: type: unsplash author: Alex Holyoake href: https://unsplash.com/@stairhopper --- // Page Initializer // ============================================================================= // Enable the Liquid Preprocessor :page-liquid: // Set (local) page attributes here // ----------------------------------------------------------------------------- // :page--attr: :badges-enabled: false // Place an excerpt at the most top position // ----------------------------------------------------------------------------- The template system 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. [role="clearfix mb-3"] excerpt__end // Load Liquid procedures // ----------------------------------------------------------------------------- {% capture load_attributes %}themes/{{site.template.name}}/procedures/global/attributes_loader.proc{%endcapture%} // Load page attributes // ----------------------------------------------------------------------------- {% include {{load_attributes}} scope="global" %} // Page content // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Include sub-documents // ----------------------------------------------------------------------------- ifeval::[{badges-enabled} == true] {badge-j1--license} {badge-j1--version-latest} {badge-j1-gh--last-commit} {badge-j1--downloads} endif::[] // [[readmore]] Many large today's companies like {url-docker--docs}[Docker, {browser-window--new}] are using template-based systems to create their documentation sites. Or like {url-oreilly-atlas--home}[O'Reilly Atlas, {browser-window--new}], 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 real, a lot of things are to be managed. 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 be not needed for documentation systems, but a lot of components are required that are wanted in general: * 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* (https://blog.codinghorror.com/understanding-model-view-controller/[Model–View–Controller, {browser-window--new}]) 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 * entirely usable on small PCs locally as well as on powerful remote systems on the Internet It took me nearly four years. Now, in early 2021, I can present the first version of J1 Template for the public. Hopefully, most of the objectives are achieved. Have fun!